diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/at.i b/src/plugins/e-acsl/tests/e-acsl-runtime/at.i index 562f2b2d84a8cb2f052882e3e0c3e78031faee8d..bdbdb5a109bd541af93cd971343a07fdcd4760f2 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/at.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/at.i @@ -1,7 +1,7 @@ /* run.config COMMENT: \at EXECNOW: LOG gen_at.c BIN gen_at.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/at.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_at.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_at.out ./tests/e-acsl-runtime/result/gen_at.c -lgmp && ./tests/e-acsl-runtime/result/gen_at.out - EXECNOW: LOG gen_at2.c BIN gen_at2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_at2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_at2.out ./tests/e-acsl-runtime/result/gen_at2.c -lgmp && ./tests/e-acsl-runtime/result/gen_at2.out + EXECNOW: LOG gen_at2.c BIN gen_at2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/at.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_at2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_at2.out ./tests/e-acsl-runtime/result/gen_at2.c -lgmp && ./tests/e-acsl-runtime/result/gen_at2.out */ int A = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i b/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i index 116d05e053379a455b7fc8c5ec26feba414d243e..50278e074e50d061e347d39c59361d01886c264c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i @@ -1,7 +1,7 @@ /* run.config COMMENT: function contract EXECNOW: LOG gen_function_contract.c BIN gen_function_contract.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/function_contract.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_function_contract.out ./tests/e-acsl-runtime/result/gen_function_contract.c -lgmp && ./tests/e-acsl-runtime/result/gen_function_contract.out - EXECNOW: LOG gen_function_contract2.c BIN gen_function_contract2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_function_contract2.out ./tests/e-acsl-runtime/result/gen_function_contract2.c -lgmp && ./tests/e-acsl-runtime/result/gen_function_contract2.out + EXECNOW: LOG gen_function_contract2.c BIN gen_function_contract2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/function_contract.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_function_contract2.out ./tests/e-acsl-runtime/result/gen_function_contract2.c -lgmp && ./tests/e-acsl-runtime/result/gen_function_contract2.out */ int X = 0, Y = 2; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i b/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i index 60890404133a2ac2af8de8486693a5ed795434f1..75bf70bacf2a7ddec405c19f3f7811d127d165ba 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/linear_search.i @@ -1,7 +1,7 @@ /* run.config COMMENT: linear search (example of the TAP'12 article) EXECNOW: LOG gen_linear_search.c BIN gen_linear_search.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/linear_search.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_linear_search.c > /dev/null && gcc -pedantic -o ./tests/e-acsl-runtime/result/gen_linear_search.out ./tests/e-acsl-runtime/result/gen_linear_search.c -lgmp && ./tests/e-acsl-runtime/result/gen_linear_search.out - EXECNOW: LOG gen_linear_search2.c BIN gen_linear_search2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_linear_search2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_linear_search2.out ./tests/e-acsl-runtime/result/gen_linear_search2.c -lgmp && ./tests/e-acsl-runtime/result/gen_linear_search2.out + EXECNOW: LOG gen_linear_search2.c BIN gen_linear_search2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/linear_search.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_linear_search2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_linear_search2.out ./tests/e-acsl-runtime/result/gen_linear_search2.c -lgmp && ./tests/e-acsl-runtime/result/gen_linear_search2.out */ int A[10]; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle index 2e932beb96c1aeeea419c7dc91ae80f926602103..1a8e27de707bcda123173e0373df636860465008 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.1.res.oracle @@ -1,13 +1,3 @@ -:0:[e-acsl] warning: E-ACSL construct `typing of user-defined logic type' is not yet supported. - Ignoring annotation. -:0:[e-acsl] warning: E-ACSL construct `typing of user-defined logic type' is not yet supported. - Ignoring annotation. -:0:[e-acsl] warning: E-ACSL construct `typing of user-defined logic type' is not yet supported. - Ignoring annotation. -:0:[e-acsl] warning: E-ACSL construct `typing of user-defined logic type' is not yet supported. - Ignoring annotation. -:0:[e-acsl] warning: E-ACSL construct `typing of user-defined logic type' is not yet supported. - Ignoring annotation. [value] Analyzing a complete application starting at main [value] Computing initial state [value] Initial state computed @@ -325,18 +315,21 @@ PROJECT_FILE.i:407:[value] Assertion got status valid. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_tdiv_q <- main. - Called from PROJECT_FILE.i:410. + Called from PROJECT_FILE.i:409. [value] Done for function __gmpz_tdiv_q [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:411. + Called from PROJECT_FILE.i:410. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:412. + Called from PROJECT_FILE.i:411. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:413. + Called from PROJECT_FILE.i:412. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:414. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:415. [value] Done for function __gmpz_clear @@ -346,52 +339,52 @@ PROJECT_FILE.i:407:[value] Assertion got status valid. [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:417. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:418. -[value] Done for function __gmpz_clear -PROJECT_FILE.i:422:[value] Assertion got status valid. +PROJECT_FILE.i:421:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:432. + Called from PROJECT_FILE.i:431. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:433. + Called from PROJECT_FILE.i:432. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:434. + Called from PROJECT_FILE.i:433. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:435. + Called from PROJECT_FILE.i:434. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:436. + Called from PROJECT_FILE.i:435. [value] Done for function __gmpz_init -PROJECT_FILE.i:437:[value] Assertion got status valid. +PROJECT_FILE.i:436:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:438. + Called from PROJECT_FILE.i:437. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_tdiv_r <- main. - Called from PROJECT_FILE.i:439. + Called from PROJECT_FILE.i:438. PROJECT_FILE.i:157:[value] Function __gmpz_tdiv_r: precondition got status valid. PROJECT_FILE.i:158:[value] Function __gmpz_tdiv_r: precondition got status valid. PROJECT_FILE.i:159:[value] Function __gmpz_tdiv_r: precondition got status valid. [value] Done for function __gmpz_tdiv_r [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:440. + Called from PROJECT_FILE.i:439. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:441. + Called from PROJECT_FILE.i:440. [value] Done for function __gmpz_init [value] computing for function __gmpz_neg <- main. - Called from PROJECT_FILE.i:442. + Called from PROJECT_FILE.i:441. [value] Done for function __gmpz_neg [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:443. + Called from PROJECT_FILE.i:442. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:444. + Called from PROJECT_FILE.i:443. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:444. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:445. [value] Done for function __gmpz_clear @@ -407,61 +400,61 @@ PROJECT_FILE.i:159:[value] Function __gmpz_tdiv_r: precondition got status valid [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:449. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:450. -[value] Done for function __gmpz_clear -PROJECT_FILE.i:454:[value] Assertion got status valid. +PROJECT_FILE.i:453:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:466. + Called from PROJECT_FILE.i:465. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:467. + Called from PROJECT_FILE.i:466. [value] Done for function __gmpz_init [value] computing for function __gmpz_neg <- main. - Called from PROJECT_FILE.i:468. + Called from PROJECT_FILE.i:467. [value] Done for function __gmpz_neg [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:469. + Called from PROJECT_FILE.i:468. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:470. + Called from PROJECT_FILE.i:469. [value] Done for function __gmpz_init [value] computing for function __gmpz_neg <- main. - Called from PROJECT_FILE.i:471. + Called from PROJECT_FILE.i:470. [value] Done for function __gmpz_neg [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:472. + Called from PROJECT_FILE.i:471. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:473. + Called from PROJECT_FILE.i:472. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:474. + Called from PROJECT_FILE.i:473. [value] Done for function __gmpz_init -PROJECT_FILE.i:475:[value] Assertion got status valid. +PROJECT_FILE.i:474:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:476. + Called from PROJECT_FILE.i:475. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_tdiv_r <- main. - Called from PROJECT_FILE.i:477. + Called from PROJECT_FILE.i:476. [value] Done for function __gmpz_tdiv_r [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:478. + Called from PROJECT_FILE.i:477. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:479. + Called from PROJECT_FILE.i:478. [value] Done for function __gmpz_init [value] computing for function __gmpz_neg <- main. - Called from PROJECT_FILE.i:480. + Called from PROJECT_FILE.i:479. [value] Done for function __gmpz_neg [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:481. + Called from PROJECT_FILE.i:480. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:482. + Called from PROJECT_FILE.i:481. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:482. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:483. [value] Done for function __gmpz_clear @@ -483,49 +476,49 @@ PROJECT_FILE.i:475:[value] Assertion got status valid. [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:489. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:490. -[value] Done for function __gmpz_clear -PROJECT_FILE.i:494:[value] Assertion got status valid. +PROJECT_FILE.i:493:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:504. + Called from PROJECT_FILE.i:503. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:505. + Called from PROJECT_FILE.i:504. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:506. + Called from PROJECT_FILE.i:505. [value] Done for function __gmpz_init [value] computing for function __gmpz_neg <- main. - Called from PROJECT_FILE.i:507. + Called from PROJECT_FILE.i:506. [value] Done for function __gmpz_neg [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:508. + Called from PROJECT_FILE.i:507. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:509. + Called from PROJECT_FILE.i:508. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:510. + Called from PROJECT_FILE.i:509. [value] Done for function __gmpz_init -PROJECT_FILE.i:511:[value] Assertion got status valid. +PROJECT_FILE.i:510:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:512. + Called from PROJECT_FILE.i:511. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_tdiv_r <- main. - Called from PROJECT_FILE.i:513. + Called from PROJECT_FILE.i:512. [value] Done for function __gmpz_tdiv_r [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:514. + Called from PROJECT_FILE.i:513. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:515. + Called from PROJECT_FILE.i:514. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:516. + Called from PROJECT_FILE.i:515. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:516. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:517. [value] Done for function __gmpz_clear @@ -541,77 +534,77 @@ PROJECT_FILE.i:511:[value] Assertion got status valid. [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:521. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:522. -[value] Done for function __gmpz_clear -PROJECT_FILE.i:526:[value] Assertion got status valid. +PROJECT_FILE.i:525:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:542. + Called from PROJECT_FILE.i:541. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:543. + Called from PROJECT_FILE.i:542. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:544. + Called from PROJECT_FILE.i:543. [value] Done for function __gmpz_init [value] computing for function __gmpz_mul <- main. - Called from PROJECT_FILE.i:545. + Called from PROJECT_FILE.i:544. [value] Done for function __gmpz_mul [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:546. + Called from PROJECT_FILE.i:545. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:547. + Called from PROJECT_FILE.i:546. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:548. + Called from PROJECT_FILE.i:547. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:549. + Called from PROJECT_FILE.i:548. [value] Done for function __gmpz_add [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:550. + Called from PROJECT_FILE.i:549. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:551. + Called from PROJECT_FILE.i:550. [value] Done for function __gmpz_add [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:552. + Called from PROJECT_FILE.i:551. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:553. + Called from PROJECT_FILE.i:552. [value] Done for function __gmpz_init [value] computing for function __gmpz_sub <- main. - Called from PROJECT_FILE.i:554. + Called from PROJECT_FILE.i:553. [value] Done for function __gmpz_sub [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:555. + Called from PROJECT_FILE.i:554. [value] Done for function __gmpz_init [value] computing for function __gmpz_sub <- main. - Called from PROJECT_FILE.i:556. + Called from PROJECT_FILE.i:555. [value] Done for function __gmpz_sub [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:557. + Called from PROJECT_FILE.i:556. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:558. + Called from PROJECT_FILE.i:557. [value] Done for function __gmpz_add [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:559. + Called from PROJECT_FILE.i:558. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:560. + Called from PROJECT_FILE.i:559. [value] Done for function __gmpz_init [value] computing for function __gmpz_neg <- main. - Called from PROJECT_FILE.i:561. + Called from PROJECT_FILE.i:560. [value] Done for function __gmpz_neg [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:562. + Called from PROJECT_FILE.i:561. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:563. + Called from PROJECT_FILE.i:562. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:564. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:565. [value] Done for function __gmpz_clear @@ -648,14 +641,241 @@ PROJECT_FILE.i:526:[value] Assertion got status valid. [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:576. [value] Done for function __gmpz_clear +PROJECT_FILE.i:580:[value] Assertion got status valid. +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:591. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:592. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:593. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:594. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:595. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:596. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:597. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:598. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:599. +[value] Done for function __gmpz_cmp +[value] computing for function e_acsl_assert <- main. + Called from PROJECT_FILE.i:600. +[value] Recording results for e_acsl_assert +[value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:601. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:602. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:603. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:604. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:605. +[value] Done for function __gmpz_clear +PROJECT_FILE.i:609:[value] Assertion got status valid. +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:619. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:620. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init <- main. + Called from PROJECT_FILE.i:621. +[value] Done for function __gmpz_init +[value] computing for function __gmpz_neg <- main. + Called from PROJECT_FILE.i:622. +[value] Done for function __gmpz_neg +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:623. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:624. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:625. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:626. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:627. +[value] Done for function __gmpz_cmp +[value] computing for function e_acsl_assert <- main. + Called from PROJECT_FILE.i:628. +[value] Recording results for e_acsl_assert +[value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:629. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:630. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:631. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:632. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:633. +[value] Done for function __gmpz_clear +PROJECT_FILE.i:637:[value] Assertion got status valid. +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:647. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:648. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init <- main. + Called from PROJECT_FILE.i:649. +[value] Done for function __gmpz_init +[value] computing for function __gmpz_neg <- main. + Called from PROJECT_FILE.i:650. +[value] Done for function __gmpz_neg +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:651. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:652. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:653. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:654. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:655. +[value] Done for function __gmpz_cmp +[value] computing for function e_acsl_assert <- main. + Called from PROJECT_FILE.i:656. +[value] Recording results for e_acsl_assert +[value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:657. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:658. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:659. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:660. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:577. + Called from PROJECT_FILE.i:661. +[value] Done for function __gmpz_clear +PROJECT_FILE.i:665:[value] Assertion got status valid. +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:676. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:677. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:678. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:679. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:680. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:681. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:682. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:683. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:684. +[value] Done for function __gmpz_cmp +[value] computing for function e_acsl_assert <- main. + Called from PROJECT_FILE.i:685. +[value] Recording results for e_acsl_assert +[value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:686. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:687. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:688. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:689. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:690. +[value] Done for function __gmpz_clear +PROJECT_FILE.i:694:[value] Assertion got status valid. +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:705. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:706. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:707. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:708. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:709. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:710. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:711. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:712. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:713. +[value] Done for function __gmpz_cmp +[value] computing for function e_acsl_assert <- main. + Called from PROJECT_FILE.i:714. +[value] Recording results for e_acsl_assert +[value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:715. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:716. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:717. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:718. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:719. [value] Done for function __gmpz_clear -PROJECT_FILE.i:581:[value] Assertion got status valid. -PROJECT_FILE.i:583:[value] Assertion got status valid. -PROJECT_FILE.i:585:[value] Assertion got status valid. -PROJECT_FILE.i:587:[value] Assertion got status valid. -PROJECT_FILE.i:589:[value] Assertion got status valid. [value] Recording results for main [value] done for function main [value] ====== VALUES COMPUTED ====== @@ -767,414 +987,580 @@ int main(void) y = 2; /*@ assert -3 ≡ x; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + mpz_t __e_acsl_3; + int __e_acsl_4; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_2)); + __gmpz_neg((__mpz_struct *)(__e_acsl_2),(__mpz_struct const *)(__e_acsl)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)x); + __e_acsl_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2), + (__mpz_struct const *)(__e_acsl_3)); + e_acsl_assert(__e_acsl_4 == 0,(char *)"Assertion",(char *)"(-3 == x)",12); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); } /*@ assert x ≡ -3; */ ; { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_7)); + __gmpz_neg((__mpz_struct *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_6)); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_7)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Assertion",(char *)"(x == -3)",13); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } /*@ assert 0 ≢ ~0; */ ; { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + int __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)0); + __gmpz_init((__mpz_struct *)(__e_acsl_10)); + __gmpz_com((__mpz_struct *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_9)); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9), + (__mpz_struct const *)(__e_acsl_10)); + e_acsl_assert(__e_acsl_11 != 0,(char *)"Assertion",(char *)"(0 != ~0)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } /*@ assert x+1 ≡ -2; */ ; { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_14)); + __gmpz_add((__mpz_struct *)(__e_acsl_14), + (__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_16)); + __gmpz_neg((__mpz_struct *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_15)); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_14), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 == 0,(char *)"Assertion",(char *)"(x+1 == -2)", + 16); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); } /*@ assert x-1 ≡ -4; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + int __e_acsl_23; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_20)); + __gmpz_sub((__mpz_struct *)(__e_acsl_20), + (__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_22)); + __gmpz_neg((__mpz_struct *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_21)); + __e_acsl_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_20), + (__mpz_struct const *)(__e_acsl_22)); + e_acsl_assert(__e_acsl_23 == 0,(char *)"Assertion",(char *)"(x-1 == -4)", + 17); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); } /*@ assert x*3 ≡ -9; */ ; { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + int __e_acsl_29; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_26)); + __gmpz_mul((__mpz_struct *)(__e_acsl_26), + (__mpz_struct const *)(__e_acsl_24), + (__mpz_struct const *)(__e_acsl_25)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)9); + __gmpz_init((__mpz_struct *)(__e_acsl_28)); + __gmpz_neg((__mpz_struct *)(__e_acsl_28), + (__mpz_struct const *)(__e_acsl_27)); + __e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_26), + (__mpz_struct const *)(__e_acsl_28)); + e_acsl_assert(__e_acsl_29 == 0,(char *)"Assertion",(char *)"(x*3 == -9)", + 18); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); } /*@ assert x/3 ≡ -1; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + int __e_acsl_37; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)0); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + __gmpz_init((__mpz_struct *)(__e_acsl_34)); /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_33 == 0),(char *)"Assertion", (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_31)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_36)); + __gmpz_neg((__mpz_struct *)(__e_acsl_36), + (__mpz_struct const *)(__e_acsl_35)); + __e_acsl_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_36)); + e_acsl_assert(__e_acsl_37 == 0,(char *)"Assertion",(char *)"(x/3 == -1)", + 19); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); } /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); + mpz_t __e_acsl_38; + mpz_t __e_acsl_39; + int __e_acsl_40; + mpz_t __e_acsl_41; + mpz_t __e_acsl_42; + int __e_acsl_43; + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_38),"17592186044415",10); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_39),(long)0); + __e_acsl_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_39)); + __gmpz_init((__mpz_struct *)(__e_acsl_41)); /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_40 == 0),(char *)"Assertion", (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_41), + (__mpz_struct const *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_38)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_42),(long)1); + __e_acsl_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_41), + (__mpz_struct const *)(__e_acsl_42)); + e_acsl_assert(__e_acsl_43 == 0,(char *)"Assertion", (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); + __gmpz_clear((__mpz_struct *)(__e_acsl_42)); } /*@ assert x%2 ≡ -1; */ ; { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); + mpz_t __e_acsl_44; + mpz_t __e_acsl_45; + mpz_t __e_acsl_46; + int __e_acsl_47; + mpz_t __e_acsl_48; + mpz_t __e_acsl_49; + mpz_t __e_acsl_50; + int __e_acsl_51; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_44),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_45),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_46),(long)0); + __e_acsl_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_45), + (__mpz_struct const *)(__e_acsl_46)); + __gmpz_init((__mpz_struct *)(__e_acsl_48)); /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_47 == 0),(char *)"Assertion", (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_48), + (__mpz_struct const *)(__e_acsl_44), + (__mpz_struct const *)(__e_acsl_45)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_49),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_50)); + __gmpz_neg((__mpz_struct *)(__e_acsl_50), + (__mpz_struct const *)(__e_acsl_49)); + __e_acsl_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_48), + (__mpz_struct const *)(__e_acsl_50)); + e_acsl_assert(__e_acsl_51 == 0,(char *)"Assertion",(char *)"(x%2 == -1)", + 21); + __gmpz_clear((__mpz_struct *)(__e_acsl_44)); + __gmpz_clear((__mpz_struct *)(__e_acsl_45)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_48)); + __gmpz_clear((__mpz_struct *)(__e_acsl_49)); + __gmpz_clear((__mpz_struct *)(__e_acsl_50)); } /*@ assert -3%-2 ≡ -1; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); + mpz_t __e_acsl_52; + mpz_t __e_acsl_53; + mpz_t __e_acsl_54; + mpz_t __e_acsl_55; + mpz_t __e_acsl_56; + int __e_acsl_57; + mpz_t __e_acsl_58; + mpz_t __e_acsl_59; + mpz_t __e_acsl_60; + int __e_acsl_61; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_53)); + __gmpz_neg((__mpz_struct *)(__e_acsl_53), + (__mpz_struct const *)(__e_acsl_52)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_54),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_55)); + __gmpz_neg((__mpz_struct *)(__e_acsl_55), + (__mpz_struct const *)(__e_acsl_54)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_56),(long)0); + __e_acsl_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_55), + (__mpz_struct const *)(__e_acsl_56)); + __gmpz_init((__mpz_struct *)(__e_acsl_58)); /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_57 == 0),(char *)"Assertion", (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_53), + (__mpz_struct const *)(__e_acsl_55)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_59),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_60)); + __gmpz_neg((__mpz_struct *)(__e_acsl_60), + (__mpz_struct const *)(__e_acsl_59)); + __e_acsl_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_60)); + e_acsl_assert(__e_acsl_61 == 0,(char *)"Assertion", (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); + __gmpz_clear((__mpz_struct *)(__e_acsl_54)); + __gmpz_clear((__mpz_struct *)(__e_acsl_55)); + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_59)); + __gmpz_clear((__mpz_struct *)(__e_acsl_60)); } /*@ assert 3%-2 ≡ 1; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); + mpz_t __e_acsl_62; + mpz_t __e_acsl_63; + mpz_t __e_acsl_64; + mpz_t __e_acsl_65; + int __e_acsl_66; + mpz_t __e_acsl_67; + mpz_t __e_acsl_68; + int __e_acsl_69; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_62),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_64)); + __gmpz_neg((__mpz_struct *)(__e_acsl_64), + (__mpz_struct const *)(__e_acsl_63)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_65),(long)0); + __e_acsl_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_64), + (__mpz_struct const *)(__e_acsl_65)); + __gmpz_init((__mpz_struct *)(__e_acsl_67)); /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_66 == 0),(char *)"Assertion", (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_67), + (__mpz_struct const *)(__e_acsl_62), + (__mpz_struct const *)(__e_acsl_64)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_68),(long)1); + __e_acsl_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_67), + (__mpz_struct const *)(__e_acsl_68)); + e_acsl_assert(__e_acsl_69 == 0,(char *)"Assertion",(char *)"(3%-2 == 1)", + 23); + __gmpz_clear((__mpz_struct *)(__e_acsl_62)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); + __gmpz_clear((__mpz_struct *)(__e_acsl_64)); + __gmpz_clear((__mpz_struct *)(__e_acsl_65)); + __gmpz_clear((__mpz_struct *)(__e_acsl_67)); + __gmpz_clear((__mpz_struct *)(__e_acsl_68)); } /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", + mpz_t __e_acsl_70; + mpz_t __e_acsl_71; + mpz_t __e_acsl_72; + mpz_t __e_acsl_73; + mpz_t __e_acsl_74; + mpz_t __e_acsl_75; + mpz_t __e_acsl_76; + mpz_t __e_acsl_77; + mpz_t __e_acsl_78; + mpz_t __e_acsl_79; + mpz_t __e_acsl_80; + mpz_t __e_acsl_81; + mpz_t __e_acsl_82; + int __e_acsl_83; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_70),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_71),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_72)); + __gmpz_mul((__mpz_struct *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_70), + (__mpz_struct const *)(__e_acsl_71)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_73),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_74),(long)y); + __gmpz_init((__mpz_struct *)(__e_acsl_75)); + __gmpz_add((__mpz_struct *)(__e_acsl_75), + (__mpz_struct const *)(__e_acsl_73), + (__mpz_struct const *)(__e_acsl_74)); + __gmpz_init((__mpz_struct *)(__e_acsl_76)); + __gmpz_add((__mpz_struct *)(__e_acsl_76), + (__mpz_struct const *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_75)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_77),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_78)); + __gmpz_sub((__mpz_struct *)(__e_acsl_78), + (__mpz_struct const *)(__e_acsl_76), + (__mpz_struct const *)(__e_acsl_77)); + __gmpz_init((__mpz_struct *)(__e_acsl_79)); + __gmpz_sub((__mpz_struct *)(__e_acsl_79), + (__mpz_struct const *)(__e_acsl_70), + (__mpz_struct const *)(__e_acsl_74)); + __gmpz_init((__mpz_struct *)(__e_acsl_80)); + __gmpz_add((__mpz_struct *)(__e_acsl_80), + (__mpz_struct const *)(__e_acsl_78), + (__mpz_struct const *)(__e_acsl_79)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_81),(long)10); + __gmpz_init((__mpz_struct *)(__e_acsl_82)); + __gmpz_neg((__mpz_struct *)(__e_acsl_82), + (__mpz_struct const *)(__e_acsl_81)); + __e_acsl_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_80), + (__mpz_struct const *)(__e_acsl_82)); + e_acsl_assert(__e_acsl_83 == 0,(char *)"Assertion", (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + __gmpz_clear((__mpz_struct *)(__e_acsl_70)); + __gmpz_clear((__mpz_struct *)(__e_acsl_71)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_73)); + __gmpz_clear((__mpz_struct *)(__e_acsl_74)); + __gmpz_clear((__mpz_struct *)(__e_acsl_75)); + __gmpz_clear((__mpz_struct *)(__e_acsl_76)); + __gmpz_clear((__mpz_struct *)(__e_acsl_77)); + __gmpz_clear((__mpz_struct *)(__e_acsl_78)); + __gmpz_clear((__mpz_struct *)(__e_acsl_79)); + __gmpz_clear((__mpz_struct *)(__e_acsl_80)); + __gmpz_clear((__mpz_struct *)(__e_acsl_81)); + __gmpz_clear((__mpz_struct *)(__e_acsl_82)); } /*@ assert (0≡1) ≡ !(0≡0); */ ; + { + mpz_t __e_acsl_84; + mpz_t __e_acsl_85; + int __e_acsl_86; + mpz_t __e_acsl_87; + int __e_acsl_88; + mpz_t __e_acsl_89; + int __e_acsl_90; + mpz_t __e_acsl_91; + int __e_acsl_92; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_84),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_85),(long)1); + __e_acsl_86 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_84), + (__mpz_struct const *)(__e_acsl_85)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_87), + (long)(__e_acsl_86 == 0)); + __e_acsl_88 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_84), + (__mpz_struct const *)(__e_acsl_84)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_89), + (long)(__e_acsl_88 == 0)); + __e_acsl_90 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_89), + (__mpz_struct const *)(__e_acsl_84)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_91), + (long)(__e_acsl_90 == 0)); + __e_acsl_92 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_87), + (__mpz_struct const *)(__e_acsl_91)); + e_acsl_assert(__e_acsl_92 == 0,(char *)"Assertion", + (char *)"((0==1) == !(0==0))",27); + __gmpz_clear((__mpz_struct *)(__e_acsl_84)); + __gmpz_clear((__mpz_struct *)(__e_acsl_85)); + __gmpz_clear((__mpz_struct *)(__e_acsl_87)); + __gmpz_clear((__mpz_struct *)(__e_acsl_89)); + __gmpz_clear((__mpz_struct *)(__e_acsl_91)); + } + /*@ assert (0≤-1) ≡ (0>0); */ ; + { + mpz_t __e_acsl_93; + mpz_t __e_acsl_94; + mpz_t __e_acsl_95; + int __e_acsl_96; + mpz_t __e_acsl_97; + int __e_acsl_98; + mpz_t __e_acsl_99; + int __e_acsl_100; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_93),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_94),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_95)); + __gmpz_neg((__mpz_struct *)(__e_acsl_95), + (__mpz_struct const *)(__e_acsl_94)); + __e_acsl_96 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_93), + (__mpz_struct const *)(__e_acsl_95)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_97), + (long)(__e_acsl_96 <= 0)); + __e_acsl_98 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_93), + (__mpz_struct const *)(__e_acsl_93)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_99),(long)(__e_acsl_98 > 0)); + __e_acsl_100 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_97), + (__mpz_struct const *)(__e_acsl_99)); + e_acsl_assert(__e_acsl_100 == 0,(char *)"Assertion", + (char *)"((0<=-1) == (0>0))",28); + __gmpz_clear((__mpz_struct *)(__e_acsl_93)); + __gmpz_clear((__mpz_struct *)(__e_acsl_94)); + __gmpz_clear((__mpz_struct *)(__e_acsl_95)); + __gmpz_clear((__mpz_struct *)(__e_acsl_97)); + __gmpz_clear((__mpz_struct *)(__e_acsl_99)); + } + /*@ assert (0≥-1) ≡ (0≤0); */ ; + { + mpz_t __e_acsl_101; + mpz_t __e_acsl_102; + mpz_t __e_acsl_103; + int __e_acsl_104; + mpz_t __e_acsl_105; + int __e_acsl_106; + mpz_t __e_acsl_107; + int __e_acsl_108; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_101),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_102),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_103)); + __gmpz_neg((__mpz_struct *)(__e_acsl_103), + (__mpz_struct const *)(__e_acsl_102)); + __e_acsl_104 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_101), + (__mpz_struct const *)(__e_acsl_103)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_105), + (long)(__e_acsl_104 >= 0)); + __e_acsl_106 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_101), + (__mpz_struct const *)(__e_acsl_101)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_107), + (long)(__e_acsl_106 <= 0)); + __e_acsl_108 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_105), + (__mpz_struct const *)(__e_acsl_107)); + e_acsl_assert(__e_acsl_108 == 0,(char *)"Assertion", + (char *)"((0>=-1) == (0<=0))",29); + __gmpz_clear((__mpz_struct *)(__e_acsl_101)); + __gmpz_clear((__mpz_struct *)(__e_acsl_102)); + __gmpz_clear((__mpz_struct *)(__e_acsl_103)); + __gmpz_clear((__mpz_struct *)(__e_acsl_105)); + __gmpz_clear((__mpz_struct *)(__e_acsl_107)); + } + /*@ assert (0≢1) ≡ !(0≢0); */ ; + { + mpz_t __e_acsl_109; + mpz_t __e_acsl_110; + int __e_acsl_111; + mpz_t __e_acsl_112; + int __e_acsl_113; + mpz_t __e_acsl_114; + int __e_acsl_115; + mpz_t __e_acsl_116; + int __e_acsl_117; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_109),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_110),(long)1); + __e_acsl_111 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_109), + (__mpz_struct const *)(__e_acsl_110)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_112), + (long)(__e_acsl_111 != 0)); + __e_acsl_113 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_109), + (__mpz_struct const *)(__e_acsl_109)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_114), + (long)(__e_acsl_113 != 0)); + __e_acsl_115 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_114), + (__mpz_struct const *)(__e_acsl_109)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_116), + (long)(__e_acsl_115 == 0)); + __e_acsl_117 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_112), + (__mpz_struct const *)(__e_acsl_116)); + e_acsl_assert(__e_acsl_117 == 0,(char *)"Assertion", + (char *)"((0!=1) == !(0!=0))",30); + __gmpz_clear((__mpz_struct *)(__e_acsl_109)); + __gmpz_clear((__mpz_struct *)(__e_acsl_110)); + __gmpz_clear((__mpz_struct *)(__e_acsl_112)); + __gmpz_clear((__mpz_struct *)(__e_acsl_114)); + __gmpz_clear((__mpz_struct *)(__e_acsl_116)); + } + /*@ assert (0≢0) ≡ !(1≢0); */ ; + { + mpz_t __e_acsl_118; + int __e_acsl_119; + mpz_t __e_acsl_120; + mpz_t __e_acsl_121; + int __e_acsl_122; + mpz_t __e_acsl_123; + int __e_acsl_124; + mpz_t __e_acsl_125; + int __e_acsl_126; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_118),(long)0); + __e_acsl_119 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_118), + (__mpz_struct const *)(__e_acsl_118)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_120), + (long)(__e_acsl_119 != 0)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_121),(long)1); + __e_acsl_122 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_121), + (__mpz_struct const *)(__e_acsl_118)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_123), + (long)(__e_acsl_122 != 0)); + __e_acsl_124 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_123), + (__mpz_struct const *)(__e_acsl_118)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_125), + (long)(__e_acsl_124 == 0)); + __e_acsl_126 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_120), + (__mpz_struct const *)(__e_acsl_125)); + e_acsl_assert(__e_acsl_126 == 0,(char *)"Assertion", + (char *)"((0!=0) == !(1!=0))",32); + __gmpz_clear((__mpz_struct *)(__e_acsl_118)); + __gmpz_clear((__mpz_struct *)(__e_acsl_120)); + __gmpz_clear((__mpz_struct *)(__e_acsl_121)); + __gmpz_clear((__mpz_struct *)(__e_acsl_123)); + __gmpz_clear((__mpz_struct *)(__e_acsl_125)); + } + __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle index b9c4db579284e4a2867be203fe803da6a57cb4f4..215e2e55f199afed2e8f8a263c4ee21579deeed1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle @@ -163,53 +163,53 @@ int main(void) (char *)"Assertion",(char *)"(x*3 == -9)",18); /*@ assert x/3 ≡ -1; */ ; { - int __e_acsl_var; + int __e_acsl; /*@ assert 3 ≢ 0; */ ; e_acsl_assert(! (3 == 0),(char *)"Assertion",(char *)"(3 == 0)",19); - __e_acsl_var = x / 3; - e_acsl_assert(__e_acsl_var == -1,(char *)"Assertion", - (char *)"(x/3 == -1)",19); + __e_acsl = x / 3; + e_acsl_assert(__e_acsl == -1,(char *)"Assertion",(char *)"(x/3 == -1)", + 19); } /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; { - int __e_acsl_var_2; + int __e_acsl_2; /*@ assert 0xfffffffffff ≢ 0; */ ; e_acsl_assert(! (0xfffffffffff == (long long)0),(char *)"Assertion", (char *)"(0xfffffffffff == 0)",20); - __e_acsl_var_2 = (int)(0xfffffffffff / 0xfffffffffff); - e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion", + __e_acsl_2 = (int)(0xfffffffffff / 0xfffffffffff); + e_acsl_assert(__e_acsl_2 == 1,(char *)"Assertion", (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); } /*@ assert x%2 ≡ -1; */ ; { - int __e_acsl_var_3; + int __e_acsl_3; /*@ assert 2 ≢ 0; */ ; e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",21); - __e_acsl_var_3 = x % 2; - e_acsl_assert(__e_acsl_var_3 == -1,(char *)"Assertion", - (char *)"(x%2 == -1)",21); + __e_acsl_3 = x % 2; + e_acsl_assert(__e_acsl_3 == -1,(char *)"Assertion",(char *)"(x%2 == -1)", + 21); } /*@ assert -3%-2 ≡ -1; */ ; { - int __e_acsl_var_4; + int __e_acsl_4; /*@ assert -2 ≢ 0; */ ; e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",22); - __e_acsl_var_4 = -3 % -2; - e_acsl_assert(__e_acsl_var_4 == -1,(char *)"Assertion", + __e_acsl_4 = -3 % -2; + e_acsl_assert(__e_acsl_4 == -1,(char *)"Assertion", (char *)"(-3%-2 == -1)",22); } /*@ assert 3%-2 ≡ 1; */ ; { - int __e_acsl_var_5; + int __e_acsl_5; /*@ assert -2 ≢ 0; */ ; e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",23); - __e_acsl_var_5 = 3 % -2; - e_acsl_assert(__e_acsl_var_5 == 1,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); + __e_acsl_5 = 3 % -2; + e_acsl_assert(__e_acsl_5 == 1,(char *)"Assertion",(char *)"(3%-2 == 1)", + 23); } /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle index 3855b32cbe311264bf5baa8a847a2189e7ffd42a..af9997814addf723122c24481859293eaa48a4d9 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.1.res.oracle @@ -126,32 +126,32 @@ int main(void) /*@ assert T1[0] ≡ T2[0]; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)T1[0]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)T2[0]); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)T1[0]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)T2[0]); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion", (char *)"(T1[0] == T2[0])",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert T1[1] ≢ T2[1]; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)T1[1]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)T2[1]); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)T1[1]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)T2[1]); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 != 0,(char *)"Assertion", (char *)"(T1[1] != T2[1])",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle index d67cbdffc07326ff667193b84d396b0fcb7136d5..467c4280400333a89a3d4e57d060dfdb19f1d0f4 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.1.res.oracle @@ -10,62 +10,62 @@ tests/e-acsl-runtime/at.i:34:[e-acsl] warning: missing guard for ensuring that p [value] Values of globals at initialization A ∈ {0} [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:391. + Called from PROJECT_FILE.i:390. PROJECT_FILE.i:82:[value] Function __gmpz_init_set_si: postcondition got status valid. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:392. + Called from PROJECT_FILE.i:391. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:393. + Called from PROJECT_FILE.i:392. PROJECT_FILE.i:69:[value] Function __gmpz_init: postcondition got status valid. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:394. + Called from PROJECT_FILE.i:393. PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid. PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid. PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid. [value] Done for function __gmpz_add [value] computing for function __gmpz_init_set <- main. - Called from PROJECT_FILE.i:395. + Called from PROJECT_FILE.i:394. PROJECT_FILE.i:73:[value] Function __gmpz_init_set: precondition got status valid. PROJECT_FILE.i:74:[value] Function __gmpz_init_set: postcondition got status valid. [value] Done for function __gmpz_init_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:396. + Called from PROJECT_FILE.i:395. PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:397. + Called from PROJECT_FILE.i:396. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:398. + Called from PROJECT_FILE.i:397. [value] Done for function __gmpz_clear -PROJECT_FILE.i:402:[value] Assertion got status valid. +PROJECT_FILE.i:401:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:407. + Called from PROJECT_FILE.i:406. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:408. + Called from PROJECT_FILE.i:407. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:409. + Called from PROJECT_FILE.i:408. PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid. PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:410. + Called from PROJECT_FILE.i:409. PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:411. + Called from PROJECT_FILE.i:410. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:412. + Called from PROJECT_FILE.i:411. [value] Done for function __gmpz_clear [value] computing for function f <- main. - Called from PROJECT_FILE.i:418. + Called from PROJECT_FILE.i:417. PROJECT_FILE.i:247:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- f <- main. Called from PROJECT_FILE.i:252. @@ -160,123 +160,123 @@ PROJECT_FILE.i:290:[value] Assertion got status unknown. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- f <- main. - Called from PROJECT_FILE.i:316. + Called from PROJECT_FILE.i:315. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- f <- main. - Called from PROJECT_FILE.i:317. + Called from PROJECT_FILE.i:316. [value] Done for function __gmpz_clear PROJECT_FILE.i:231:[value] Function f: postcondition got status valid. [value] Recording results for f [value] Done for function f -PROJECT_FILE.i:419:[value] Assertion got status unknown. +PROJECT_FILE.i:418:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:424. + Called from PROJECT_FILE.i:423. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:425. + Called from PROJECT_FILE.i:424. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:426. + Called from PROJECT_FILE.i:425. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:427. + Called from PROJECT_FILE.i:426. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:428. + Called from PROJECT_FILE.i:427. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:429. + Called from PROJECT_FILE.i:428. [value] Done for function __gmpz_clear -PROJECT_FILE.i:433:[value] Assertion got status unknown. +PROJECT_FILE.i:432:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:437. + Called from PROJECT_FILE.i:436. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:438. + Called from PROJECT_FILE.i:437. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:439. + Called from PROJECT_FILE.i:438. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:440. + Called from PROJECT_FILE.i:439. [value] Done for function __gmpz_clear -PROJECT_FILE.i:444:[value] Assertion got status unknown. +PROJECT_FILE.i:443:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:450. + Called from PROJECT_FILE.i:449. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:451. + Called from PROJECT_FILE.i:450. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:452. + Called from PROJECT_FILE.i:451. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:453. + Called from PROJECT_FILE.i:452. [value] Done for function __gmpz_add [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:454. + Called from PROJECT_FILE.i:453. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:455. + Called from PROJECT_FILE.i:454. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:456. + Called from PROJECT_FILE.i:455. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:457. + Called from PROJECT_FILE.i:456. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:458. + Called from PROJECT_FILE.i:457. [value] Done for function __gmpz_clear [value] computing for function g <- main. - Called from PROJECT_FILE.i:462. -PROJECT_FILE.i:341:[value] Assertion got status unknown. + Called from PROJECT_FILE.i:461. +PROJECT_FILE.i:340:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:346. + Called from PROJECT_FILE.i:345. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:347. + Called from PROJECT_FILE.i:346. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- g <- main. - Called from PROJECT_FILE.i:348. + Called from PROJECT_FILE.i:347. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- g <- main. - Called from PROJECT_FILE.i:349. + Called from PROJECT_FILE.i:348. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- g <- main. - Called from PROJECT_FILE.i:351. + Called from PROJECT_FILE.i:350. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- g <- main. - Called from PROJECT_FILE.i:352. + Called from PROJECT_FILE.i:351. [value] Done for function __gmpz_clear -PROJECT_FILE.i:357:[value] Assertion got status unknown. +PROJECT_FILE.i:356:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:363. + Called from PROJECT_FILE.i:362. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:364. + Called from PROJECT_FILE.i:363. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- g <- main. - Called from PROJECT_FILE.i:365. + Called from PROJECT_FILE.i:364. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- g <- main. - Called from PROJECT_FILE.i:366. + Called from PROJECT_FILE.i:365. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- g <- main. - Called from PROJECT_FILE.i:368. + Called from PROJECT_FILE.i:367. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- g <- main. - Called from PROJECT_FILE.i:369. + Called from PROJECT_FILE.i:368. [value] Done for function __gmpz_clear [value] Recording results for g [value] Done for function g [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:464. + Called from PROJECT_FILE.i:463. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -284,18 +284,18 @@ PROJECT_FILE.i:357:[value] Assertion got status unknown. [value] Values at end of function e_acsl_assert: [value] Values at end of function f: A ∈ {3} - __e_acsl_var ∈ {0} - __e_acsl_var_5 ∈ {1} - __e_acsl_var_9 ∈ {2} - __e_acsl_var_13 ∈ {0} - __e_acsl_var_14 ∈ {0} - __e_acsl_var_18 ∈ {3} + __e_acsl ∈ {0} + __e_acsl_5 ∈ {1} + __e_acsl_9 ∈ {2} + __e_acsl_13 ∈ {0} + __e_acsl_14 ∈ {0} + __e_acsl_18 ∈ {3} [value] Values at end of function g: A ∈ {4} - __e_acsl_var ∈ {0} - __e_acsl_var_2 ∈ {2} - __e_acsl_var_6 ∈ {0} - __e_acsl_var_7 ∈ {2} + __e_acsl ∈ {0} + __e_acsl_2 ∈ {2} + __e_acsl_6 ∈ {0} + __e_acsl_7 ∈ {2} x ∈ {1} t[0] ∈ {2} [1] ∈ {3} @@ -305,9 +305,9 @@ PROJECT_FILE.i:357:[value] Assertion got status unknown. x ∈ {1} t[0] ∈ {2} [1] ∈ {3} - __e_acsl_var_4 ∈ {0} - __e_acsl_var_11[0] ∈ [--..--] or UNINITIALIZED - __e_acsl_var_14 ∈ {0} + __e_acsl_4 ∈ {0} + __e_acsl_11[0] ∈ [--..--] or UNINITIALIZED + __e_acsl_14 ∈ {0} /* Generated by Frama-C */ struct __anonstruct___mpz_struct_1 { int _mp_alloc ; @@ -365,96 +365,93 @@ int A = 0; /*@ ensures \at(A,Post) ≡ 3; */ void f(void) { - int __e_acsl_var; - int __e_acsl_var_5; - int __e_acsl_var_9; - int __e_acsl_var_13; - int __e_acsl_var_14; - int __e_acsl_var_18; - __e_acsl_var_13 = A; - __e_acsl_var = A; + int __e_acsl; + int __e_acsl_5; + int __e_acsl_9; + int __e_acsl_13; + int __e_acsl_14; + int __e_acsl_18; + __e_acsl_13 = A; + __e_acsl = A; A = 1; - F: __e_acsl_var_14 = __e_acsl_var_13; - __e_acsl_var_5 = A; + F: __e_acsl_14 = __e_acsl_13; + __e_acsl_5 = A; A = 2; /*@ assert \at(A,Pre) ≡ 0; */ ; { - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)__e_acsl_var); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)0); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", + mpz_t __e_acsl_2; + mpz_t __e_acsl_3; + int __e_acsl_4; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)__e_acsl); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)0); + __e_acsl_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2), + (__mpz_struct const *)(__e_acsl_3)); + e_acsl_assert(__e_acsl_4 == 0,(char *)"Assertion", (char *)"(\\at(A,Pre) == 0)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); } /*@ assert \at(A,F) ≡ 1; */ ; { - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)__e_acsl_var_5); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)1); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_6), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", + mpz_t __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)__e_acsl_5); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)1); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_6), + (__mpz_struct const *)(__e_acsl_7)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Assertion", (char *)"(\\at(A,F) == 1)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } /*@ assert \at(A,Here) ≡ 2; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __e_acsl_var_9 = A; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10), - (long)__e_acsl_var_9); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)2); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Assertion", + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __e_acsl_9 = A; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)__e_acsl_9); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)2); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Assertion", (char *)"(\\at(A,Here) == 2)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ; { - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15), - (long)__e_acsl_var_14); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)0); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)__e_acsl_14); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)0); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 == 0,(char *)"Assertion", (char *)"(\\at(\\at(A,Pre),F) == 0)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); } A = 3; { - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; - __e_acsl_var_18 = A; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19), - (long)__e_acsl_var_18); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)3); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19), - (__mpz_struct const *)(__e_acsl_var_20)); - e_acsl_assert(__e_acsl_var_21 == 0,(char *)"Postcondition", + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; + __e_acsl_18 = A; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)__e_acsl_18); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)3); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + e_acsl_assert(__e_acsl_21 == 0,(char *)"Postcondition", (char *)"(\\at(A,Post) == 3)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); return; } @@ -462,50 +459,50 @@ void f(void) void g(int *p, int *q) { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_6; - int __e_acsl_var_7; + int __e_acsl; + int __e_acsl_2; + int __e_acsl_6; + int __e_acsl_7; *p = 0; *(p + 1) = 1; *q = 0; - L1: __e_acsl_var_6 = *q; - __e_acsl_var = *q; + L1: __e_acsl_6 = *q; + __e_acsl = *q; *p = 2; *(p + 1) = 3; *q = 1; - L2: __e_acsl_var_2 = *(p + (long)__e_acsl_var); + L2: __e_acsl_2 = *(p + (long)__e_acsl); A = 4; /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */ ; { - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)__e_acsl_var_2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)2); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_4)); - e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Assertion", + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)__e_acsl_2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)2); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_4)); + e_acsl_assert(__e_acsl_5 == 0,(char *)"Assertion", (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } L3: /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */ ; { - mpz_t __e_acsl_var_8; - mpz_t __e_acsl_var_9; - int __e_acsl_var_10; - __e_acsl_var_7 = *(p + (long)__e_acsl_var_6); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)__e_acsl_var_7); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)2); - __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8), - (__mpz_struct const *)(__e_acsl_var_9)); - e_acsl_assert(__e_acsl_var_10 == 0,(char *)"Assertion", + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + int __e_acsl_10; + __e_acsl_7 = *(p + (long)__e_acsl_6); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)__e_acsl_7); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)2); + __e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + e_acsl_assert(__e_acsl_10 == 0,(char *)"Assertion", (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } return; @@ -516,42 +513,41 @@ int main(void) int __retres; int x; int t[2]; - int __e_acsl_var_4; - mpz_t __e_acsl_var_11; - int __e_acsl_var_14; + int __e_acsl_4; + mpz_t __e_acsl_11; + int __e_acsl_14; x = 0; - L: __e_acsl_var_14 = x; + L: __e_acsl_14 = x; { - mpz_t __e_acsl_var_8; - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_8), - (__mpz_struct const *)(__e_acsl_var_9)); - __gmpz_init_set((__mpz_struct *)(__e_acsl_var_11), - (__mpz_struct const *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_10)); + __gmpz_add((__mpz_struct *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + __gmpz_init_set((__mpz_struct *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } - __e_acsl_var_4 = x; + __e_acsl_4 = x; /*@ assert x ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)", - 45); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(x == 0)",45); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } x = 1; @@ -559,56 +555,55 @@ int main(void) f(); /*@ assert \at(x,L) ≡ 0; */ ; { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - int __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)__e_acsl_var_4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)0); - __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_6)); - e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Assertion", + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)__e_acsl_4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)0); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_6)); + e_acsl_assert(__e_acsl_7 == 0,(char *)"Assertion", (char *)"(\\at(x,L) == 0)",50); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); } /*@ assert \at(x+1,L) ≡ 1; */ ; { - mpz_t __e_acsl_var_12; - int __e_acsl_var_13; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)1); - __e_acsl_var_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_11), - (__mpz_struct const *)(__e_acsl_var_12)); - e_acsl_assert(__e_acsl_var_13 == 0,(char *)"Assertion", + mpz_t __e_acsl_12; + int __e_acsl_13; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)1); + __e_acsl_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_12)); + e_acsl_assert(__e_acsl_13 == 0,(char *)"Assertion", (char *)"(\\at(x+1,L) == 1)",51); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); } /*@ assert \at(x,L)+1 ≡ 1; */ ; { - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - int __e_acsl_var_18; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15), - (long)__e_acsl_var_14); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_17)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_17), - (__mpz_struct const *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_16)); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_17), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_18 == 0,(char *)"Assertion", + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)__e_acsl_14); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_17)); + __gmpz_add((__mpz_struct *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_18 == 0,(char *)"Assertion", (char *)"(\\at(x,L)+1 == 1)",52); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } g(t,& x); __retres = 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle index 705b5d784662c136d9a780be146c2a6149285f47..4251938f7334a16a98a2d2cc676de4f866588d94 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle @@ -9,14 +9,14 @@ tests/e-acsl-runtime/at.i:34:[e-acsl] warning: missing guard for ensuring that p [value] Initial state computed [value] Values of globals at initialization A ∈ {0} -PROJECT_FILE.i:311:[value] Assertion got status valid. +PROJECT_FILE.i:310:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:312. + Called from PROJECT_FILE.i:311. PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function f <- main. - Called from PROJECT_FILE.i:316. + Called from PROJECT_FILE.i:315. PROJECT_FILE.i:247:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- f <- main. Called from PROJECT_FILE.i:248. @@ -38,37 +38,37 @@ PROJECT_FILE.i:257:[value] Assertion got status unknown. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function e_acsl_assert <- f <- main. - Called from PROJECT_FILE.i:263. + Called from PROJECT_FILE.i:262. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert PROJECT_FILE.i:231:[value] Function f: postcondition got status valid. [value] Recording results for f [value] Done for function f -PROJECT_FILE.i:317:[value] Assertion got status unknown. +PROJECT_FILE.i:316:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:317. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:320:[value] Assertion got status unknown. +PROJECT_FILE.i:319:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:321. + Called from PROJECT_FILE.i:320. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:324:[value] Assertion got status unknown. +PROJECT_FILE.i:323:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:325. + Called from PROJECT_FILE.i:324. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function g <- main. - Called from PROJECT_FILE.i:328. -PROJECT_FILE.i:285:[value] Assertion got status unknown. + Called from PROJECT_FILE.i:327. +PROJECT_FILE.i:284:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- g <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:285. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:290:[value] Assertion got status unknown. +PROJECT_FILE.i:289:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- g <- main. - Called from PROJECT_FILE.i:292. + Called from PROJECT_FILE.i:291. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] Recording results for g @@ -79,18 +79,18 @@ PROJECT_FILE.i:290:[value] Assertion got status unknown. [value] Values at end of function e_acsl_assert: [value] Values at end of function f: A ∈ {3} - __e_acsl_var ∈ {0} - __e_acsl_var_2 ∈ {1} - __e_acsl_var_3 ∈ {2} - __e_acsl_var_4 ∈ {0} - __e_acsl_var_5 ∈ {0} - __e_acsl_var_6 ∈ {3} + __e_acsl ∈ {0} + __e_acsl_2 ∈ {1} + __e_acsl_3 ∈ {2} + __e_acsl_4 ∈ {0} + __e_acsl_5 ∈ {0} + __e_acsl_6 ∈ {3} [value] Values at end of function g: A ∈ {4} - __e_acsl_var ∈ {0} - __e_acsl_var_2 ∈ {2} - __e_acsl_var_3 ∈ {0} - __e_acsl_var_4 ∈ {2} + __e_acsl ∈ {0} + __e_acsl_2 ∈ {2} + __e_acsl_3 ∈ {0} + __e_acsl_4 ∈ {2} x ∈ {1} t[0] ∈ {2} [1] ∈ {3} @@ -100,9 +100,9 @@ PROJECT_FILE.i:290:[value] Assertion got status unknown. x ∈ {1} t[0] ∈ {2} [1] ∈ {3} - __e_acsl_var ∈ {0} - __e_acsl_var_2 ∈ {1} - __e_acsl_var_3 ∈ {0} + __e_acsl ∈ {0} + __e_acsl_2 ∈ {1} + __e_acsl_3 ∈ {0} /* Generated by Frama-C */ /*@ terminates \false; ensures \false; @@ -125,61 +125,61 @@ int A = 0; /*@ ensures \at(A,Post) ≡ 3; */ void f(void) { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; - int __e_acsl_var_5; - int __e_acsl_var_6; - __e_acsl_var_4 = A; - __e_acsl_var = A; + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; + int __e_acsl_5; + int __e_acsl_6; + __e_acsl_4 = A; + __e_acsl = A; A = 1; - F: __e_acsl_var_5 = __e_acsl_var_4; - __e_acsl_var_2 = A; + F: __e_acsl_5 = __e_acsl_4; + __e_acsl_2 = A; A = 2; /*@ assert \at(A,Pre) ≡ 0; */ ; - e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion", + e_acsl_assert(__e_acsl == 0,(char *)"Assertion", (char *)"(\\at(A,Pre) == 0)",13); /*@ assert \at(A,F) ≡ 1; */ ; - e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion", + e_acsl_assert(__e_acsl_2 == 1,(char *)"Assertion", (char *)"(\\at(A,F) == 1)",14); /*@ assert \at(A,Here) ≡ 2; */ ; - __e_acsl_var_3 = A; - e_acsl_assert(__e_acsl_var_3 == 2,(char *)"Assertion", + __e_acsl_3 = A; + e_acsl_assert(__e_acsl_3 == 2,(char *)"Assertion", (char *)"(\\at(A,Here) == 2)",15); /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ; - e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Assertion", + e_acsl_assert(__e_acsl_5 == 0,(char *)"Assertion", (char *)"(\\at(\\at(A,Pre),F) == 0)",16); A = 3; - __e_acsl_var_6 = A; - e_acsl_assert(__e_acsl_var_6 == 3,(char *)"Postcondition", + __e_acsl_6 = A; + e_acsl_assert(__e_acsl_6 == 3,(char *)"Postcondition", (char *)"(\\at(A,Post) == 3)",9); return; } void g(int *p, int *q) { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; *p = 0; *(p + 1) = 1; *q = 0; - L1: __e_acsl_var_3 = *q; - __e_acsl_var = *q; + L1: __e_acsl_3 = *q; + __e_acsl = *q; *p = 2; *(p + 1) = 3; *q = 1; - L2: __e_acsl_var_2 = *(p + __e_acsl_var); + L2: __e_acsl_2 = *(p + __e_acsl); A = 4; /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */ ; - e_acsl_assert(__e_acsl_var_2 == 2,(char *)"Assertion", + e_acsl_assert(__e_acsl_2 == 2,(char *)"Assertion", (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32); L3: /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */ ; - __e_acsl_var_4 = *(p + __e_acsl_var_3); - e_acsl_assert(__e_acsl_var_4 == 2,(char *)"Assertion", + __e_acsl_4 = *(p + __e_acsl_3); + e_acsl_assert(__e_acsl_4 == 2,(char *)"Assertion", (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34); return; } @@ -189,26 +189,26 @@ int main(void) int __retres; int x; int t[2]; - int __e_acsl_var; - long long __e_acsl_var_2; - int __e_acsl_var_3; + int __e_acsl; + long long __e_acsl_2; + int __e_acsl_3; x = 0; - L: __e_acsl_var_3 = x; - __e_acsl_var_2 = (long long)x + (long long)1; - __e_acsl_var = x; + L: __e_acsl_3 = x; + __e_acsl_2 = (long long)x + (long long)1; + __e_acsl = x; /*@ assert x ≡ 0; */ ; e_acsl_assert(x == 0,(char *)"Assertion",(char *)"(x == 0)",45); x = 1; x = 2; f(); /*@ assert \at(x,L) ≡ 0; */ ; - e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion", - (char *)"(\\at(x,L) == 0)",50); + e_acsl_assert(__e_acsl == 0,(char *)"Assertion",(char *)"(\\at(x,L) == 0)", + 50); /*@ assert \at(x+1,L) ≡ 1; */ ; - e_acsl_assert(__e_acsl_var_2 == (long long)1,(char *)"Assertion", + e_acsl_assert(__e_acsl_2 == (long long)1,(char *)"Assertion", (char *)"(\\at(x+1,L) == 1)",51); /*@ assert \at(x,L)+1 ≡ 1; */ ; - e_acsl_assert((long long)__e_acsl_var_3 + (long long)1 == (long long)1, + e_acsl_assert((long long)__e_acsl_3 + (long long)1 == (long long)1, (char *)"Assertion",(char *)"(\\at(x,L)+1 == 1)",52); g(t,& x); __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle index 587197650a17deb796367c0479b04ffc0a6e4509..e022693ff914a4dc044e2371ef224f9172b886d5 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.1.res.oracle @@ -215,110 +215,110 @@ int main(void) y = 0; /*@ assert (int)x ≡ y; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)((int)x)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)((int)x)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion", (char *)"((int)x == y)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert x ≡ (long)y; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)y); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)y); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion", (char *)"(x == (long)y)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } /*@ assert y ≡ (int)0; */ ; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion", + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)0); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Assertion", (char *)"(y == (int)0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } /*@ assert (unsigned int)y ≡ (unsigned int)0; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_10), + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_10), (unsigned long)((unsigned int)y)); - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_11), + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_11), (unsigned long)((unsigned int)0)); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Assertion", + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Assertion", (char *)"((unsigned int)y == (unsigned int)0)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } /*@ assert y ≢ (int)0xfffffffffffffff; */ ; { - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - unsigned long __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)y); - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_14), - "1152921504606846975",10); - __e_acsl_var_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_14)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16), - (long)((int)__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 != 0,(char *)"Assertion", + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + unsigned long __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)y); + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_14),"1152921504606846975", + 10); + __e_acsl_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_14)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16), + (long)((int)__e_acsl_15)); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 != 0,(char *)"Assertion", (char *)"(y != (int)0xfffffffffffffff)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); } /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - unsigned long __e_acsl_var_20; - mpz_t __e_acsl_var_21; - int __e_acsl_var_22; - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_18), + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + unsigned long __e_acsl_20; + mpz_t __e_acsl_21; + int __e_acsl_22; + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_18), (unsigned long)((unsigned int)y)); - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_19), - "1152921504606846975",10); - __e_acsl_var_20 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_21), - (unsigned long)((unsigned int)__e_acsl_var_20)); - __e_acsl_var_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_21)); - e_acsl_assert(__e_acsl_var_22 != 0,(char *)"Assertion", + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_19),"1152921504606846975", + 10); + __e_acsl_20 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_19)); + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_21), + (unsigned long)((unsigned int)__e_acsl_20)); + __e_acsl_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_21)); + e_acsl_assert(__e_acsl_22 != 0,(char *)"Assertion", (char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)", 19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle index ae41e9603b1ac7b2bb5749a7bd18393c75f88804..dadbee4cf5ceec2fbb9e5462b8dcfb91b17f73db 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.1.res.oracle @@ -447,61 +447,58 @@ int main(void) y = 1; /*@ assert x < y; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert y > x; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 > 0,(char *)"Assertion",(char *)"(y > x)", - 10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)x); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 > 0,(char *)"Assertion",(char *)"(y > x)",10); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } /*@ assert x ≤ 0; */ ; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 <= 0,(char *)"Assertion",(char *)"(x <= 0)", - 11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)0); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 <= 0,(char *)"Assertion",(char *)"(x <= 0)",11); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } /*@ assert y ≥ 1; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 >= 0,(char *)"Assertion", - (char *)"(y >= 1)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)1); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 >= 0,(char *)"Assertion",(char *)"(y >= 1)",12); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } s = (char *)"toto"; @@ -512,206 +509,201 @@ int main(void) (char *)"(\"toto\" != \"titi\")",15); /*@ assert 5 < 18; */ ; { - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - int __e_acsl_var_15; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)5); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)18); - __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - e_acsl_assert(__e_acsl_var_15 < 0,(char *)"Assertion",(char *)"(5 < 18)", - 16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + int __e_acsl_15; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)5); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)18); + __e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + e_acsl_assert(__e_acsl_15 < 0,(char *)"Assertion",(char *)"(5 < 18)",16); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); } /*@ assert 32 > 3; */ ; { - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - int __e_acsl_var_18; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)32); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)3); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_17)); - e_acsl_assert(__e_acsl_var_18 > 0,(char *)"Assertion",(char *)"(32 > 3)", - 17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)32); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)3); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_17)); + e_acsl_assert(__e_acsl_18 > 0,(char *)"Assertion",(char *)"(32 > 3)",17); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } /*@ assert 12 ≤ 13; */ ; { - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)12); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)13); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19), - (__mpz_struct const *)(__e_acsl_var_20)); - e_acsl_assert(__e_acsl_var_21 <= 0,(char *)"Assertion", - (char *)"(12 <= 13)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)12); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)13); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + e_acsl_assert(__e_acsl_21 <= 0,(char *)"Assertion",(char *)"(12 <= 13)", + 18); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); } /*@ assert 123 ≥ 12; */ ; { - mpz_t __e_acsl_var_22; - mpz_t __e_acsl_var_23; - int __e_acsl_var_24; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)123); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)12); - __e_acsl_var_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_23)); - e_acsl_assert(__e_acsl_var_24 >= 0,(char *)"Assertion", - (char *)"(123 >= 12)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + int __e_acsl_24; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)123); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)12); + __e_acsl_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_23)); + e_acsl_assert(__e_acsl_24 >= 0,(char *)"Assertion",(char *)"(123 >= 12)", + 19); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); } /*@ assert 0xff ≡ 0xff; */ ; { - mpz_t __e_acsl_var_25; - int __e_acsl_var_26; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)0xff); - __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_25)); - e_acsl_assert(__e_acsl_var_26 == 0,(char *)"Assertion", + mpz_t __e_acsl_25; + int __e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)0xff); + __e_acsl_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_25)); + e_acsl_assert(__e_acsl_26 == 0,(char *)"Assertion", (char *)"(0xff == 0xff)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); } /*@ assert 1 ≢ 2; */ ; { - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)2); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 != 0,(char *)"Assertion", - (char *)"(1 != 2)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + int __e_acsl_29; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)2); + __e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_27), + (__mpz_struct const *)(__e_acsl_28)); + e_acsl_assert(__e_acsl_29 != 0,(char *)"Assertion",(char *)"(1 != 2)",21); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); } /*@ assert -5 < 18; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)5); - __gmpz_init((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_30)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)18); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - e_acsl_assert(__e_acsl_var_33 < 0,(char *)"Assertion", - (char *)"(-5 < 18)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)5); + __gmpz_init((__mpz_struct *)(__e_acsl_31)); + __gmpz_neg((__mpz_struct *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_30)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)18); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + e_acsl_assert(__e_acsl_33 < 0,(char *)"Assertion",(char *)"(-5 < 18)",23); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } /*@ assert 32 > -3; */ ; { - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34),(long)32); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 > 0,(char *)"Assertion", - (char *)"(32 > -3)",24); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + int __e_acsl_37; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)32); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_36)); + __gmpz_neg((__mpz_struct *)(__e_acsl_36), + (__mpz_struct const *)(__e_acsl_35)); + __e_acsl_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_36)); + e_acsl_assert(__e_acsl_37 > 0,(char *)"Assertion",(char *)"(32 > -3)",24); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); } /*@ assert -12 ≤ 13; */ ; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - mpz_t __e_acsl_var_40; - int __e_acsl_var_41; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_38),(long)12); - __gmpz_init((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)13); - __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_40)); - e_acsl_assert(__e_acsl_var_41 <= 0,(char *)"Assertion", - (char *)"(-12 <= 13)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_40)); + mpz_t __e_acsl_38; + mpz_t __e_acsl_39; + mpz_t __e_acsl_40; + int __e_acsl_41; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_38),(long)12); + __gmpz_init((__mpz_struct *)(__e_acsl_39)); + __gmpz_neg((__mpz_struct *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_38)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)13); + __e_acsl_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_40)); + e_acsl_assert(__e_acsl_41 <= 0,(char *)"Assertion",(char *)"(-12 <= 13)", + 25); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); } /*@ assert 123 ≥ -12; */ ; { - mpz_t __e_acsl_var_42; - mpz_t __e_acsl_var_43; - mpz_t __e_acsl_var_44; - int __e_acsl_var_45; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)123); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_43),(long)12); - __gmpz_init((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_43)); - __e_acsl_var_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_42), - (__mpz_struct const *)(__e_acsl_var_44)); - e_acsl_assert(__e_acsl_var_45 >= 0,(char *)"Assertion", + mpz_t __e_acsl_42; + mpz_t __e_acsl_43; + mpz_t __e_acsl_44; + int __e_acsl_45; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_42),(long)123); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)12); + __gmpz_init((__mpz_struct *)(__e_acsl_44)); + __gmpz_neg((__mpz_struct *)(__e_acsl_44), + (__mpz_struct const *)(__e_acsl_43)); + __e_acsl_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_42), + (__mpz_struct const *)(__e_acsl_44)); + e_acsl_assert(__e_acsl_45 >= 0,(char *)"Assertion", (char *)"(123 >= -12)",26); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_43)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); + __gmpz_clear((__mpz_struct *)(__e_acsl_42)); + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_44)); } /*@ assert -0xff ≡ -0xff; */ ; { - mpz_t __e_acsl_var_46; - mpz_t __e_acsl_var_47; - int __e_acsl_var_48; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0xff); - __gmpz_init((__mpz_struct *)(__e_acsl_var_47)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_46)); - __e_acsl_var_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_47)); - e_acsl_assert(__e_acsl_var_48 == 0,(char *)"Assertion", + mpz_t __e_acsl_46; + mpz_t __e_acsl_47; + int __e_acsl_48; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_46),(long)0xff); + __gmpz_init((__mpz_struct *)(__e_acsl_47)); + __gmpz_neg((__mpz_struct *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_46)); + __e_acsl_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_47)); + e_acsl_assert(__e_acsl_48 == 0,(char *)"Assertion", (char *)"(-0xff == -0xff)",27); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); } /*@ assert 1 ≢ -2; */ ; { - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - mpz_t __e_acsl_var_51; - int __e_acsl_var_52; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_50),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_51)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_51), - (__mpz_struct const *)(__e_acsl_var_50)); - __e_acsl_var_52 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_49), - (__mpz_struct const *)(__e_acsl_var_51)); - e_acsl_assert(__e_acsl_var_52 != 0,(char *)"Assertion", - (char *)"(1 != -2)",28); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_51)); + mpz_t __e_acsl_49; + mpz_t __e_acsl_50; + mpz_t __e_acsl_51; + int __e_acsl_52; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_49),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_50),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_51)); + __gmpz_neg((__mpz_struct *)(__e_acsl_51), + (__mpz_struct const *)(__e_acsl_50)); + __e_acsl_52 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_49), + (__mpz_struct const *)(__e_acsl_51)); + e_acsl_assert(__e_acsl_52 != 0,(char *)"Assertion",(char *)"(1 != -2)", + 28); + __gmpz_clear((__mpz_struct *)(__e_acsl_49)); + __gmpz_clear((__mpz_struct *)(__e_acsl_50)); + __gmpz_clear((__mpz_struct *)(__e_acsl_51)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle index 8470142c5f17016e0de416c1aa50268fb514b66e..e26e4ea740ddc0e7e8696a1a9eec66d63bd6f4f4 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.1.res.oracle @@ -613,10 +613,10 @@ PROJECT_FILE.i:551:[value] Function m, behavior b2: postcondition got status val [value] Values at end of function l: [value] Values at end of function m: X ∈ {7} - __e_acsl_var_4 ∈ {0; 1} - __e_acsl_var_16 ∈ {0; 1} - __e_acsl_var_28 ∈ {0; 1} - __e_acsl_var_30 ∈ {5} + __e_acsl_4 ∈ {0; 1} + __e_acsl_16 ∈ {0; 1} + __e_acsl_28 ∈ {0; 1} + __e_acsl_30 ∈ {5} [value] Values at end of function main: X ∈ {7} __retres ∈ {0} @@ -675,17 +675,17 @@ void f(void) { X = 1; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition", - (char *)"(X == 1)",10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition",(char *)"(X == 1)", + 10); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); return; } @@ -697,25 +697,25 @@ void g(void) { X = 2; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)2); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition", - (char *)"(X == 2)",14); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)Y); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Postcondition", - (char *)"(Y == 2)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)2); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition",(char *)"(X == 2)", + 14); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)Y); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_5 == 0,(char *)"Postcondition",(char *)"(Y == 2)", + 15); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); return; } @@ -725,17 +725,17 @@ void g(void) void h(void) { { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)2); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Precondition", - (char *)"(X == 2)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)2); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Precondition",(char *)"(X == 2)", + 19); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); X ++; } @@ -747,28 +747,28 @@ void h(void) void i(void) { { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)3); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Precondition", - (char *)"(X == 3)",23); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition", - (char *)"(Y == 2)",24); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)3); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Precondition",(char *)"(X == 3)", + 23); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)2); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Precondition",(char *)"(Y == 2)", + 24); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); X += Y; } @@ -789,74 +789,74 @@ void i(void) void j(void) { { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - int __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)5); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Precondition", - (char *)"(X == 5)",29); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)Y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_6), - (__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_6)); - e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Precondition", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + int __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)5); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Precondition",(char *)"(X == 5)", + 29); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)Y); + __gmpz_init((__mpz_struct *)(__e_acsl_6)); + __gmpz_add((__mpz_struct *)(__e_acsl_6), + (__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_6)); + e_acsl_assert(__e_acsl_7 == 0,(char *)"Precondition", (char *)"(X == 3+Y)",32); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)2); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Precondition", - (char *)"(Y == 2)",33); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)2); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Precondition",(char *)"(Y == 2)", + 33); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); X = 3; } { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - int __e_acsl_var_16; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)3); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition", + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + mpz_t __e_acsl_15; + int __e_acsl_16; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)3); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Postcondition", (char *)"(X == 3)",30); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - __e_acsl_var_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_15)); - e_acsl_assert(__e_acsl_var_16 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_15)); + __gmpz_add((__mpz_struct *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + __e_acsl_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_15)); + e_acsl_assert(__e_acsl_16 == 0,(char *)"Postcondition", (char *)"(X == Y+1)",34); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); return; } @@ -877,109 +877,109 @@ void j(void) void k(void) { { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - int __e_acsl_var_13; - int __e_acsl_var_17; - int __e_acsl_var_18; - int __e_acsl_var_22; - int __e_acsl_var_28; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - if (! (__e_acsl_var_3 == 0)) { __e_acsl_var_7 = 1; } + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + int __e_acsl_13; + int __e_acsl_17; + int __e_acsl_18; + int __e_acsl_22; + int __e_acsl_28; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + if (! (__e_acsl_3 == 0)) { __e_acsl_7 = 1; } else { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - __e_acsl_var_7 = __e_acsl_var_6 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __e_acsl_6 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } - e_acsl_assert(__e_acsl_var_7,(char *)"Precondition", + e_acsl_assert(__e_acsl_7,(char *)"Precondition", (char *)"(X == 1 ==> X == 0)",40); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)3); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_8)); - if (__e_acsl_var_9 == 0) { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)2); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - __e_acsl_var_13 = __e_acsl_var_12 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)3); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_8)); + if (__e_acsl_9 == 0) { + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)2); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + __e_acsl_13 = __e_acsl_12 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } - else { __e_acsl_var_13 = 0; } - if (! __e_acsl_var_13) { __e_acsl_var_17 = 1; } + else { __e_acsl_13 = 0; } + if (! __e_acsl_13) { __e_acsl_17 = 1; } else { - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - int __e_acsl_var_16; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)3); - __e_acsl_var_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __e_acsl_var_16 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); + mpz_t __e_acsl_14; + mpz_t __e_acsl_15; + int __e_acsl_16; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)3); + __e_acsl_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_14), + (__mpz_struct const *)(__e_acsl_15)); + __e_acsl_17 = __e_acsl_16 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); } - e_acsl_assert(__e_acsl_var_17,(char *)"Precondition", + e_acsl_assert(__e_acsl_17,(char *)"Precondition", (char *)"(X == 3 && Y == 2 ==> X == 3)",44); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_8)); - if (__e_acsl_var_18 == 0) { - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)2); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19), - (__mpz_struct const *)(__e_acsl_var_20)); - __e_acsl_var_22 = __e_acsl_var_21 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_8)); + if (__e_acsl_18 == 0) { + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)2); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + __e_acsl_22 = __e_acsl_21 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); } - else { __e_acsl_var_22 = 0; } - if (! __e_acsl_var_22) { __e_acsl_var_28 = 1; } + else { __e_acsl_22 = 0; } + if (! __e_acsl_22) { __e_acsl_28 = 1; } else { - mpz_t __e_acsl_var_23; - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - int __e_acsl_var_27; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)Y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_23), - (__mpz_struct const *)(__e_acsl_var_24)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)5); - __e_acsl_var_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_26)); - __e_acsl_var_28 = __e_acsl_var_27 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); + mpz_t __e_acsl_23; + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)Y); + __gmpz_init((__mpz_struct *)(__e_acsl_25)); + __gmpz_add((__mpz_struct *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_24)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)5); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_26)); + __e_acsl_28 = __e_acsl_27 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); } - e_acsl_assert(__e_acsl_var_28,(char *)"Precondition", + e_acsl_assert(__e_acsl_28,(char *)"Precondition", (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); X += Y; } @@ -991,31 +991,30 @@ int l(void) { /*@ assert Y ≡ 2; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)2); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(Y == 2)", - 51); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)2); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(Y == 2)",51); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)5); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Postcondition", - (char *)"(X == 5)",49); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)5); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Postcondition",(char *)"(X == 5)", + 49); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); return (X); } @@ -1035,137 +1034,136 @@ int l(void) */ void m(void) { - int __e_acsl_var_4; - int __e_acsl_var_16; - int __e_acsl_var_28; - int __e_acsl_var_30; - __e_acsl_var_30 = X; + int __e_acsl_4; + int __e_acsl_16; + int __e_acsl_28; + int __e_acsl_30; + __e_acsl_30 = X; { - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - int __e_acsl_var_27; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)5); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21), - (__mpz_struct const *)(__e_acsl_var_22)); - if (__e_acsl_var_23 == 0) { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - int __e_acsl_var_26; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)2); - __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __e_acsl_var_27 = __e_acsl_var_26 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + int __e_acsl_23; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)5); + __e_acsl_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_22)); + if (__e_acsl_23 == 0) { + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + int __e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)2); + __e_acsl_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_24), + (__mpz_struct const *)(__e_acsl_25)); + __e_acsl_27 = __e_acsl_26 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); } - else { __e_acsl_var_27 = 0; } - __e_acsl_var_28 = __e_acsl_var_27; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + else { __e_acsl_27 = 0; } + __e_acsl_28 = __e_acsl_27; + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); } { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - int __e_acsl_var_15; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)5); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - if (__e_acsl_var_11 == 0) { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - int __e_acsl_var_14; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)Y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)2); - __e_acsl_var_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __e_acsl_var_15 = __e_acsl_var_14 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + int __e_acsl_11; + int __e_acsl_15; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)5); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9), + (__mpz_struct const *)(__e_acsl_10)); + if (__e_acsl_11 == 0) { + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + int __e_acsl_14; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)2); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __e_acsl_15 = __e_acsl_14 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); } - else { __e_acsl_var_15 = 0; } - __e_acsl_var_16 = __e_acsl_var_15; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + else { __e_acsl_15 = 0; } + __e_acsl_16 = __e_acsl_15; + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)7); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - __e_acsl_var_4 = __e_acsl_var_3 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)7); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + __e_acsl_4 = __e_acsl_3 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } X += Y; { - int __e_acsl_var_8; - int __e_acsl_var_20; - int __e_acsl_var_35; - if (! __e_acsl_var_4) { __e_acsl_var_8 = 1; } + int __e_acsl_8; + int __e_acsl_20; + int __e_acsl_35; + if (! __e_acsl_4) { __e_acsl_8 = 1; } else { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - int __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)95); - __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __e_acsl_var_7 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)95); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_6)); + __e_acsl_8 = __e_acsl_7 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); } - e_acsl_assert(__e_acsl_var_8,(char *)"Postcondition", + e_acsl_assert(__e_acsl_8,(char *)"Postcondition", (char *)"(\\old(X == 7) ==> X == 95)",58); - if (! __e_acsl_var_16) { __e_acsl_var_20 = 1; } + if (! __e_acsl_16) { __e_acsl_20 = 1; } else { - mpz_t __e_acsl_var_17; - mpz_t __e_acsl_var_18; - int __e_acsl_var_19; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)7); - __e_acsl_var_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_17), - (__mpz_struct const *)(__e_acsl_var_18)); - __e_acsl_var_20 = __e_acsl_var_19 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); + mpz_t __e_acsl_17; + mpz_t __e_acsl_18; + int __e_acsl_19; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)7); + __e_acsl_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_18)); + __e_acsl_20 = __e_acsl_19 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); } - e_acsl_assert(__e_acsl_var_20,(char *)"Postcondition", + e_acsl_assert(__e_acsl_20,(char *)"Postcondition", (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62); - if (! __e_acsl_var_28) { __e_acsl_var_35 = 1; } + if (! __e_acsl_28) { __e_acsl_35 = 1; } else { - mpz_t __e_acsl_var_29; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - mpz_t __e_acsl_var_33; - int __e_acsl_var_34; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_29),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31), - (long)__e_acsl_var_30); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)Y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_33)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_33), - (__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __e_acsl_var_34 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_29), - (__mpz_struct const *)(__e_acsl_var_33)); - __e_acsl_var_35 = __e_acsl_var_34 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_29)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_33)); + mpz_t __e_acsl_29; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + mpz_t __e_acsl_33; + int __e_acsl_34; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_29),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)__e_acsl_30); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)Y); + __gmpz_init((__mpz_struct *)(__e_acsl_33)); + __gmpz_add((__mpz_struct *)(__e_acsl_33), + (__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + __e_acsl_34 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_29), + (__mpz_struct const *)(__e_acsl_33)); + __e_acsl_35 = __e_acsl_34 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_29)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_33)); } - e_acsl_assert(__e_acsl_var_35,(char *)"Postcondition", + e_acsl_assert(__e_acsl_35,(char *)"Postcondition", (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63); return; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle index e508228f378c17bda8988240127060b3d4237cf2..0d0e6654ae5e384a5806521207ae38f370ecd58b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle @@ -5,7 +5,7 @@ X ∈ {0} Y ∈ {2} [value] computing for function f <- main. - Called from PROJECT_FILE.i:402. + Called from PROJECT_FILE.i:401. [value] computing for function e_acsl_assert <- f <- main. Called from PROJECT_FILE.i:236. PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid. @@ -15,7 +15,7 @@ PROJECT_FILE.i:232:[value] Function f: postcondition got status valid. [value] Recording results for f [value] Done for function f [value] computing for function g <- main. - Called from PROJECT_FILE.i:403. + Called from PROJECT_FILE.i:402. [value] computing for function e_acsl_assert <- g <- main. Called from PROJECT_FILE.i:245. [value] Recording results for e_acsl_assert @@ -29,7 +29,7 @@ PROJECT_FILE.i:241:[value] Function g: postcondition got status valid. [value] Recording results for g [value] Done for function g [value] computing for function h <- main. - Called from PROJECT_FILE.i:404. + Called from PROJECT_FILE.i:403. PROJECT_FILE.i:250:[value] Function h: precondition got status valid. [value] computing for function e_acsl_assert <- h <- main. Called from PROJECT_FILE.i:253. @@ -38,7 +38,7 @@ PROJECT_FILE.i:250:[value] Function h: precondition got status valid. [value] Recording results for h [value] Done for function h [value] computing for function i <- main. - Called from PROJECT_FILE.i:405. + Called from PROJECT_FILE.i:404. PROJECT_FILE.i:258:[value] Function i: precondition got status valid. PROJECT_FILE.i:259:[value] Function i: precondition got status valid. [value] computing for function e_acsl_assert <- i <- main. @@ -52,7 +52,7 @@ PROJECT_FILE.i:259:[value] Function i: precondition got status valid. [value] Recording results for i [value] Done for function i [value] computing for function j <- main. - Called from PROJECT_FILE.i:406. + Called from PROJECT_FILE.i:405. PROJECT_FILE.i:269:[value] Function j, behavior b1: precondition got status valid. PROJECT_FILE.i:273:[value] Function j, behavior b2: precondition got status valid. PROJECT_FILE.i:274:[value] Function j, behavior b2: precondition got status valid. @@ -81,7 +81,7 @@ PROJECT_FILE.i:275:[value] Function j, behavior b2: postcondition got status val [value] Recording results for j [value] Done for function j [value] computing for function k <- main. - Called from PROJECT_FILE.i:407. + Called from PROJECT_FILE.i:406. PROJECT_FILE.i:294:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated. PROJECT_FILE.i:299:[value] Function k, behavior b2: precondition got status valid. PROJECT_FILE.i:300:[value] Function k, behavior b2: precondition got status valid. @@ -100,7 +100,7 @@ PROJECT_FILE.i:300:[value] Function k, behavior b2: precondition got status vali [value] Recording results for k [value] Done for function k [value] computing for function l <- main. - Called from PROJECT_FILE.i:408. + Called from PROJECT_FILE.i:407. PROJECT_FILE.i:336:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- l <- main. Called from PROJECT_FILE.i:337. @@ -114,7 +114,7 @@ PROJECT_FILE.i:333:[value] Function l: postcondition got status valid. [value] Recording results for l [value] Done for function l [value] computing for function m <- main. - Called from PROJECT_FILE.i:409. + Called from PROJECT_FILE.i:408. [value] computing for function e_acsl_assert <- m <- main. Called from PROJECT_FILE.i:382. [value] Recording results for e_acsl_assert @@ -124,7 +124,7 @@ PROJECT_FILE.i:333:[value] Function l: postcondition got status valid. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function e_acsl_assert <- m <- main. - Called from PROJECT_FILE.i:392. + Called from PROJECT_FILE.i:391. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert PROJECT_FILE.i:345:[value] Function m, behavior b1: assumes got status invalid; post-condition not evaluated. @@ -151,10 +151,10 @@ PROJECT_FILE.i:351:[value] Function m, behavior b2: postcondition got status val [value] Values at end of function l: [value] Values at end of function m: X ∈ {7} - __e_acsl_var ∈ {0} - __e_acsl_var_4 ∈ {1} - __e_acsl_var_7 ∈ {1} - __e_acsl_var_8 ∈ {5} + __e_acsl ∈ {0} + __e_acsl_4 ∈ {1} + __e_acsl_7 ∈ {1} + __e_acsl_8 ∈ {5} [value] Values at end of function main: X ∈ {7} __retres ∈ {0} @@ -253,26 +253,26 @@ void j(void) void k(void) { { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; - int __e_acsl_var_5; - if (! (X == 1)) { __e_acsl_var = 1; } - else { __e_acsl_var = X == 0; } - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; + int __e_acsl_5; + if (! (X == 1)) { __e_acsl = 1; } + else { __e_acsl = X == 0; } + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(X == 1 ==> X == 0)",40); - if (X == 3) { __e_acsl_var_2 = Y == 2; } - else { __e_acsl_var_2 = 0; } - if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; } - else { __e_acsl_var_3 = X == 3; } - e_acsl_assert(__e_acsl_var_3,(char *)"Precondition", + if (X == 3) { __e_acsl_2 = Y == 2; } + else { __e_acsl_2 = 0; } + if (! __e_acsl_2) { __e_acsl_3 = 1; } + else { __e_acsl_3 = X == 3; } + e_acsl_assert(__e_acsl_3,(char *)"Precondition", (char *)"(X == 3 && Y == 2 ==> X == 3)",44); - if (X == 3) { __e_acsl_var_4 = Y == 2; } - else { __e_acsl_var_4 = 0; } - if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; } - else { __e_acsl_var_5 = (long long)X + (long long)Y == (long long)5; } - e_acsl_assert(__e_acsl_var_5,(char *)"Precondition", + if (X == 3) { __e_acsl_4 = Y == 2; } + else { __e_acsl_4 = 0; } + if (! __e_acsl_4) { __e_acsl_5 = 1; } + else { __e_acsl_5 = (long long)X + (long long)Y == (long long)5; } + e_acsl_assert(__e_acsl_5,(char *)"Precondition", (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45); X += Y; } @@ -303,42 +303,41 @@ int l(void) */ void m(void) { - int __e_acsl_var; - int __e_acsl_var_4; - int __e_acsl_var_7; - int __e_acsl_var_8; - __e_acsl_var_8 = X; - { int __e_acsl_var_6; - if (X == 5) { __e_acsl_var_6 = Y == 2; } - else { __e_acsl_var_6 = 0; } - __e_acsl_var_7 = __e_acsl_var_6; + int __e_acsl; + int __e_acsl_4; + int __e_acsl_7; + int __e_acsl_8; + __e_acsl_8 = X; + { int __e_acsl_6; + if (X == 5) { __e_acsl_6 = Y == 2; } + else { __e_acsl_6 = 0; } + __e_acsl_7 = __e_acsl_6; } - { int __e_acsl_var_3; - if (X == 5) { __e_acsl_var_3 = Y == 2; } - else { __e_acsl_var_3 = 0; } - __e_acsl_var_4 = __e_acsl_var_3; + { int __e_acsl_3; + if (X == 5) { __e_acsl_3 = Y == 2; } + else { __e_acsl_3 = 0; } + __e_acsl_4 = __e_acsl_3; } - __e_acsl_var = X == 7; + __e_acsl = X == 7; X += Y; { - int __e_acsl_var_2; - int __e_acsl_var_5; - int __e_acsl_var_9; - if (! __e_acsl_var) { __e_acsl_var_2 = 1; } - else { __e_acsl_var_2 = X == 95; } - e_acsl_assert(__e_acsl_var_2,(char *)"Postcondition", + int __e_acsl_2; + int __e_acsl_5; + int __e_acsl_9; + if (! __e_acsl) { __e_acsl_2 = 1; } + else { __e_acsl_2 = X == 95; } + e_acsl_assert(__e_acsl_2,(char *)"Postcondition", (char *)"(\\old(X == 7) ==> X == 95)",58); - if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; } - else { __e_acsl_var_5 = X == 7; } - e_acsl_assert(__e_acsl_var_5,(char *)"Postcondition", + if (! __e_acsl_4) { __e_acsl_5 = 1; } + else { __e_acsl_5 = X == 7; } + e_acsl_assert(__e_acsl_5,(char *)"Postcondition", (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62); - if (! __e_acsl_var_7) { __e_acsl_var_9 = 1; } - else { - __e_acsl_var_9 = (long long)X == (long long)__e_acsl_var_8 + (long long)Y; + if (! __e_acsl_7) { __e_acsl_9 = 1; } + else { __e_acsl_9 = (long long)X == (long long)__e_acsl_8 + (long long)Y; } - e_acsl_assert(__e_acsl_var_9,(char *)"Postcondition", + e_acsl_assert(__e_acsl_9,(char *)"Postcondition", (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63); return; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c index 7e3519f47938542fc175c064b1f733844e7ecc62..35650fd9f44e638ff52ca99e9e621a34bdcfd5e6 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c @@ -40,53 +40,53 @@ int main(void) (char *)"Assertion",(char *)"(x*3 == -9)",18); /*@ assert x/3 ≡ -1; */ ; { - int __e_acsl_var; + int __e_acsl; /*@ assert 3 ≢ 0; */ ; e_acsl_assert(! (3 == 0),(char *)"Assertion",(char *)"(3 == 0)",19); - __e_acsl_var = x / 3; - e_acsl_assert(__e_acsl_var == -1,(char *)"Assertion", - (char *)"(x/3 == -1)",19); + __e_acsl = x / 3; + e_acsl_assert(__e_acsl == -1,(char *)"Assertion",(char *)"(x/3 == -1)", + 19); } /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; { - int __e_acsl_var_2; + int __e_acsl_2; /*@ assert 0xfffffffffff ≢ 0; */ ; e_acsl_assert(! (0xfffffffffff == (long long)0),(char *)"Assertion", (char *)"(0xfffffffffff == 0)",20); - __e_acsl_var_2 = (int)(0xfffffffffff / 0xfffffffffff); - e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion", + __e_acsl_2 = (int)(0xfffffffffff / 0xfffffffffff); + e_acsl_assert(__e_acsl_2 == 1,(char *)"Assertion", (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); } /*@ assert x%2 ≡ -1; */ ; { - int __e_acsl_var_3; + int __e_acsl_3; /*@ assert 2 ≢ 0; */ ; e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",21); - __e_acsl_var_3 = x % 2; - e_acsl_assert(__e_acsl_var_3 == -1,(char *)"Assertion", - (char *)"(x%2 == -1)",21); + __e_acsl_3 = x % 2; + e_acsl_assert(__e_acsl_3 == -1,(char *)"Assertion",(char *)"(x%2 == -1)", + 21); } /*@ assert -3%-2 ≡ -1; */ ; { - int __e_acsl_var_4; + int __e_acsl_4; /*@ assert -2 ≢ 0; */ ; e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",22); - __e_acsl_var_4 = -3 % -2; - e_acsl_assert(__e_acsl_var_4 == -1,(char *)"Assertion", + __e_acsl_4 = -3 % -2; + e_acsl_assert(__e_acsl_4 == -1,(char *)"Assertion", (char *)"(-3%-2 == -1)",22); } /*@ assert 3%-2 ≡ 1; */ ; { - int __e_acsl_var_5; + int __e_acsl_5; /*@ assert -2 ≢ 0; */ ; e_acsl_assert(! (-2 == 0),(char *)"Assertion",(char *)"(-2 == 0)",23); - __e_acsl_var_5 = 3 % -2; - e_acsl_assert(__e_acsl_var_5 == 1,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); + __e_acsl_5 = 3 % -2; + e_acsl_assert(__e_acsl_5 == 1,(char *)"Assertion",(char *)"(3%-2 == 1)", + 23); } /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..2d67d5989411bf6a6f505d00e46b16503f28d295 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c @@ -101,414 +101,580 @@ int main(void) y = 2; /*@ assert -3 ≡ x; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + mpz_t __e_acsl_3; + int __e_acsl_4; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_2)); + __gmpz_neg((__mpz_struct *)(__e_acsl_2),(__mpz_struct const *)(__e_acsl)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)x); + __e_acsl_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2), + (__mpz_struct const *)(__e_acsl_3)); + e_acsl_assert(__e_acsl_4 == 0,(char *)"Assertion",(char *)"(-3 == x)",12); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); } /*@ assert x ≡ -3; */ ; { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_7)); + __gmpz_neg((__mpz_struct *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_6)); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_7)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Assertion",(char *)"(x == -3)",13); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } /*@ assert 0 ≢ ~0; */ ; { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + int __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)0); + __gmpz_init((__mpz_struct *)(__e_acsl_10)); + __gmpz_com((__mpz_struct *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_9)); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9), + (__mpz_struct const *)(__e_acsl_10)); + e_acsl_assert(__e_acsl_11 != 0,(char *)"Assertion",(char *)"(0 != ~0)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } /*@ assert x+1 ≡ -2; */ ; { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_14)); + __gmpz_add((__mpz_struct *)(__e_acsl_14), + (__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_16)); + __gmpz_neg((__mpz_struct *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_15)); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_14), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 == 0,(char *)"Assertion",(char *)"(x+1 == -2)", + 16); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); } /*@ assert x-1 ≡ -4; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + int __e_acsl_23; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_20)); + __gmpz_sub((__mpz_struct *)(__e_acsl_20), + (__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_22)); + __gmpz_neg((__mpz_struct *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_21)); + __e_acsl_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_20), + (__mpz_struct const *)(__e_acsl_22)); + e_acsl_assert(__e_acsl_23 == 0,(char *)"Assertion",(char *)"(x-1 == -4)", + 17); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); } /*@ assert x*3 ≡ -9; */ ; { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + int __e_acsl_29; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_26)); + __gmpz_mul((__mpz_struct *)(__e_acsl_26), + (__mpz_struct const *)(__e_acsl_24), + (__mpz_struct const *)(__e_acsl_25)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)9); + __gmpz_init((__mpz_struct *)(__e_acsl_28)); + __gmpz_neg((__mpz_struct *)(__e_acsl_28), + (__mpz_struct const *)(__e_acsl_27)); + __e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_26), + (__mpz_struct const *)(__e_acsl_28)); + e_acsl_assert(__e_acsl_29 == 0,(char *)"Assertion",(char *)"(x*3 == -9)", + 18); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); } /*@ assert x/3 ≡ -1; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + int __e_acsl_37; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)0); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + __gmpz_init((__mpz_struct *)(__e_acsl_34)); /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_33 == 0),(char *)"Assertion", (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_31)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_36)); + __gmpz_neg((__mpz_struct *)(__e_acsl_36), + (__mpz_struct const *)(__e_acsl_35)); + __e_acsl_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_36)); + e_acsl_assert(__e_acsl_37 == 0,(char *)"Assertion",(char *)"(x/3 == -1)", + 19); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); } /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); + mpz_t __e_acsl_38; + mpz_t __e_acsl_39; + int __e_acsl_40; + mpz_t __e_acsl_41; + mpz_t __e_acsl_42; + int __e_acsl_43; + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_38),"17592186044415",10); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_39),(long)0); + __e_acsl_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_39)); + __gmpz_init((__mpz_struct *)(__e_acsl_41)); /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_40 == 0),(char *)"Assertion", (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_41), + (__mpz_struct const *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_38)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_42),(long)1); + __e_acsl_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_41), + (__mpz_struct const *)(__e_acsl_42)); + e_acsl_assert(__e_acsl_43 == 0,(char *)"Assertion", (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); + __gmpz_clear((__mpz_struct *)(__e_acsl_42)); } /*@ assert x%2 ≡ -1; */ ; { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); + mpz_t __e_acsl_44; + mpz_t __e_acsl_45; + mpz_t __e_acsl_46; + int __e_acsl_47; + mpz_t __e_acsl_48; + mpz_t __e_acsl_49; + mpz_t __e_acsl_50; + int __e_acsl_51; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_44),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_45),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_46),(long)0); + __e_acsl_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_45), + (__mpz_struct const *)(__e_acsl_46)); + __gmpz_init((__mpz_struct *)(__e_acsl_48)); /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_47 == 0),(char *)"Assertion", (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_48), + (__mpz_struct const *)(__e_acsl_44), + (__mpz_struct const *)(__e_acsl_45)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_49),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_50)); + __gmpz_neg((__mpz_struct *)(__e_acsl_50), + (__mpz_struct const *)(__e_acsl_49)); + __e_acsl_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_48), + (__mpz_struct const *)(__e_acsl_50)); + e_acsl_assert(__e_acsl_51 == 0,(char *)"Assertion",(char *)"(x%2 == -1)", + 21); + __gmpz_clear((__mpz_struct *)(__e_acsl_44)); + __gmpz_clear((__mpz_struct *)(__e_acsl_45)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_48)); + __gmpz_clear((__mpz_struct *)(__e_acsl_49)); + __gmpz_clear((__mpz_struct *)(__e_acsl_50)); } /*@ assert -3%-2 ≡ -1; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); + mpz_t __e_acsl_52; + mpz_t __e_acsl_53; + mpz_t __e_acsl_54; + mpz_t __e_acsl_55; + mpz_t __e_acsl_56; + int __e_acsl_57; + mpz_t __e_acsl_58; + mpz_t __e_acsl_59; + mpz_t __e_acsl_60; + int __e_acsl_61; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_53)); + __gmpz_neg((__mpz_struct *)(__e_acsl_53), + (__mpz_struct const *)(__e_acsl_52)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_54),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_55)); + __gmpz_neg((__mpz_struct *)(__e_acsl_55), + (__mpz_struct const *)(__e_acsl_54)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_56),(long)0); + __e_acsl_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_55), + (__mpz_struct const *)(__e_acsl_56)); + __gmpz_init((__mpz_struct *)(__e_acsl_58)); /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_57 == 0),(char *)"Assertion", (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_53), + (__mpz_struct const *)(__e_acsl_55)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_59),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_60)); + __gmpz_neg((__mpz_struct *)(__e_acsl_60), + (__mpz_struct const *)(__e_acsl_59)); + __e_acsl_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_60)); + e_acsl_assert(__e_acsl_61 == 0,(char *)"Assertion", (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); + __gmpz_clear((__mpz_struct *)(__e_acsl_54)); + __gmpz_clear((__mpz_struct *)(__e_acsl_55)); + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_59)); + __gmpz_clear((__mpz_struct *)(__e_acsl_60)); } /*@ assert 3%-2 ≡ 1; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); + mpz_t __e_acsl_62; + mpz_t __e_acsl_63; + mpz_t __e_acsl_64; + mpz_t __e_acsl_65; + int __e_acsl_66; + mpz_t __e_acsl_67; + mpz_t __e_acsl_68; + int __e_acsl_69; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_62),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_64)); + __gmpz_neg((__mpz_struct *)(__e_acsl_64), + (__mpz_struct const *)(__e_acsl_63)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_65),(long)0); + __e_acsl_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_64), + (__mpz_struct const *)(__e_acsl_65)); + __gmpz_init((__mpz_struct *)(__e_acsl_67)); /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_66 == 0),(char *)"Assertion", (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_67), + (__mpz_struct const *)(__e_acsl_62), + (__mpz_struct const *)(__e_acsl_64)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_68),(long)1); + __e_acsl_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_67), + (__mpz_struct const *)(__e_acsl_68)); + e_acsl_assert(__e_acsl_69 == 0,(char *)"Assertion",(char *)"(3%-2 == 1)", + 23); + __gmpz_clear((__mpz_struct *)(__e_acsl_62)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); + __gmpz_clear((__mpz_struct *)(__e_acsl_64)); + __gmpz_clear((__mpz_struct *)(__e_acsl_65)); + __gmpz_clear((__mpz_struct *)(__e_acsl_67)); + __gmpz_clear((__mpz_struct *)(__e_acsl_68)); } /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", + mpz_t __e_acsl_70; + mpz_t __e_acsl_71; + mpz_t __e_acsl_72; + mpz_t __e_acsl_73; + mpz_t __e_acsl_74; + mpz_t __e_acsl_75; + mpz_t __e_acsl_76; + mpz_t __e_acsl_77; + mpz_t __e_acsl_78; + mpz_t __e_acsl_79; + mpz_t __e_acsl_80; + mpz_t __e_acsl_81; + mpz_t __e_acsl_82; + int __e_acsl_83; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_70),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_71),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_72)); + __gmpz_mul((__mpz_struct *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_70), + (__mpz_struct const *)(__e_acsl_71)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_73),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_74),(long)y); + __gmpz_init((__mpz_struct *)(__e_acsl_75)); + __gmpz_add((__mpz_struct *)(__e_acsl_75), + (__mpz_struct const *)(__e_acsl_73), + (__mpz_struct const *)(__e_acsl_74)); + __gmpz_init((__mpz_struct *)(__e_acsl_76)); + __gmpz_add((__mpz_struct *)(__e_acsl_76), + (__mpz_struct const *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_75)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_77),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_78)); + __gmpz_sub((__mpz_struct *)(__e_acsl_78), + (__mpz_struct const *)(__e_acsl_76), + (__mpz_struct const *)(__e_acsl_77)); + __gmpz_init((__mpz_struct *)(__e_acsl_79)); + __gmpz_sub((__mpz_struct *)(__e_acsl_79), + (__mpz_struct const *)(__e_acsl_70), + (__mpz_struct const *)(__e_acsl_74)); + __gmpz_init((__mpz_struct *)(__e_acsl_80)); + __gmpz_add((__mpz_struct *)(__e_acsl_80), + (__mpz_struct const *)(__e_acsl_78), + (__mpz_struct const *)(__e_acsl_79)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_81),(long)10); + __gmpz_init((__mpz_struct *)(__e_acsl_82)); + __gmpz_neg((__mpz_struct *)(__e_acsl_82), + (__mpz_struct const *)(__e_acsl_81)); + __e_acsl_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_80), + (__mpz_struct const *)(__e_acsl_82)); + e_acsl_assert(__e_acsl_83 == 0,(char *)"Assertion", (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + __gmpz_clear((__mpz_struct *)(__e_acsl_70)); + __gmpz_clear((__mpz_struct *)(__e_acsl_71)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_73)); + __gmpz_clear((__mpz_struct *)(__e_acsl_74)); + __gmpz_clear((__mpz_struct *)(__e_acsl_75)); + __gmpz_clear((__mpz_struct *)(__e_acsl_76)); + __gmpz_clear((__mpz_struct *)(__e_acsl_77)); + __gmpz_clear((__mpz_struct *)(__e_acsl_78)); + __gmpz_clear((__mpz_struct *)(__e_acsl_79)); + __gmpz_clear((__mpz_struct *)(__e_acsl_80)); + __gmpz_clear((__mpz_struct *)(__e_acsl_81)); + __gmpz_clear((__mpz_struct *)(__e_acsl_82)); } /*@ assert (0≡1) ≡ !(0≡0); */ ; + { + mpz_t __e_acsl_84; + mpz_t __e_acsl_85; + int __e_acsl_86; + mpz_t __e_acsl_87; + int __e_acsl_88; + mpz_t __e_acsl_89; + int __e_acsl_90; + mpz_t __e_acsl_91; + int __e_acsl_92; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_84),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_85),(long)1); + __e_acsl_86 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_84), + (__mpz_struct const *)(__e_acsl_85)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_87), + (long)(__e_acsl_86 == 0)); + __e_acsl_88 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_84), + (__mpz_struct const *)(__e_acsl_84)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_89), + (long)(__e_acsl_88 == 0)); + __e_acsl_90 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_89), + (__mpz_struct const *)(__e_acsl_84)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_91), + (long)(__e_acsl_90 == 0)); + __e_acsl_92 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_87), + (__mpz_struct const *)(__e_acsl_91)); + e_acsl_assert(__e_acsl_92 == 0,(char *)"Assertion", + (char *)"((0==1) == !(0==0))",27); + __gmpz_clear((__mpz_struct *)(__e_acsl_84)); + __gmpz_clear((__mpz_struct *)(__e_acsl_85)); + __gmpz_clear((__mpz_struct *)(__e_acsl_87)); + __gmpz_clear((__mpz_struct *)(__e_acsl_89)); + __gmpz_clear((__mpz_struct *)(__e_acsl_91)); + } + /*@ assert (0≤-1) ≡ (0>0); */ ; + { + mpz_t __e_acsl_93; + mpz_t __e_acsl_94; + mpz_t __e_acsl_95; + int __e_acsl_96; + mpz_t __e_acsl_97; + int __e_acsl_98; + mpz_t __e_acsl_99; + int __e_acsl_100; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_93),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_94),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_95)); + __gmpz_neg((__mpz_struct *)(__e_acsl_95), + (__mpz_struct const *)(__e_acsl_94)); + __e_acsl_96 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_93), + (__mpz_struct const *)(__e_acsl_95)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_97), + (long)(__e_acsl_96 <= 0)); + __e_acsl_98 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_93), + (__mpz_struct const *)(__e_acsl_93)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_99),(long)(__e_acsl_98 > 0)); + __e_acsl_100 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_97), + (__mpz_struct const *)(__e_acsl_99)); + e_acsl_assert(__e_acsl_100 == 0,(char *)"Assertion", + (char *)"((0<=-1) == (0>0))",28); + __gmpz_clear((__mpz_struct *)(__e_acsl_93)); + __gmpz_clear((__mpz_struct *)(__e_acsl_94)); + __gmpz_clear((__mpz_struct *)(__e_acsl_95)); + __gmpz_clear((__mpz_struct *)(__e_acsl_97)); + __gmpz_clear((__mpz_struct *)(__e_acsl_99)); + } + /*@ assert (0≥-1) ≡ (0≤0); */ ; + { + mpz_t __e_acsl_101; + mpz_t __e_acsl_102; + mpz_t __e_acsl_103; + int __e_acsl_104; + mpz_t __e_acsl_105; + int __e_acsl_106; + mpz_t __e_acsl_107; + int __e_acsl_108; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_101),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_102),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_103)); + __gmpz_neg((__mpz_struct *)(__e_acsl_103), + (__mpz_struct const *)(__e_acsl_102)); + __e_acsl_104 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_101), + (__mpz_struct const *)(__e_acsl_103)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_105), + (long)(__e_acsl_104 >= 0)); + __e_acsl_106 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_101), + (__mpz_struct const *)(__e_acsl_101)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_107), + (long)(__e_acsl_106 <= 0)); + __e_acsl_108 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_105), + (__mpz_struct const *)(__e_acsl_107)); + e_acsl_assert(__e_acsl_108 == 0,(char *)"Assertion", + (char *)"((0>=-1) == (0<=0))",29); + __gmpz_clear((__mpz_struct *)(__e_acsl_101)); + __gmpz_clear((__mpz_struct *)(__e_acsl_102)); + __gmpz_clear((__mpz_struct *)(__e_acsl_103)); + __gmpz_clear((__mpz_struct *)(__e_acsl_105)); + __gmpz_clear((__mpz_struct *)(__e_acsl_107)); + } + /*@ assert (0≢1) ≡ !(0≢0); */ ; + { + mpz_t __e_acsl_109; + mpz_t __e_acsl_110; + int __e_acsl_111; + mpz_t __e_acsl_112; + int __e_acsl_113; + mpz_t __e_acsl_114; + int __e_acsl_115; + mpz_t __e_acsl_116; + int __e_acsl_117; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_109),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_110),(long)1); + __e_acsl_111 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_109), + (__mpz_struct const *)(__e_acsl_110)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_112), + (long)(__e_acsl_111 != 0)); + __e_acsl_113 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_109), + (__mpz_struct const *)(__e_acsl_109)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_114), + (long)(__e_acsl_113 != 0)); + __e_acsl_115 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_114), + (__mpz_struct const *)(__e_acsl_109)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_116), + (long)(__e_acsl_115 == 0)); + __e_acsl_117 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_112), + (__mpz_struct const *)(__e_acsl_116)); + e_acsl_assert(__e_acsl_117 == 0,(char *)"Assertion", + (char *)"((0!=1) == !(0!=0))",30); + __gmpz_clear((__mpz_struct *)(__e_acsl_109)); + __gmpz_clear((__mpz_struct *)(__e_acsl_110)); + __gmpz_clear((__mpz_struct *)(__e_acsl_112)); + __gmpz_clear((__mpz_struct *)(__e_acsl_114)); + __gmpz_clear((__mpz_struct *)(__e_acsl_116)); + } + /*@ assert (0≢0) ≡ !(1≢0); */ ; + { + mpz_t __e_acsl_118; + int __e_acsl_119; + mpz_t __e_acsl_120; + mpz_t __e_acsl_121; + int __e_acsl_122; + mpz_t __e_acsl_123; + int __e_acsl_124; + mpz_t __e_acsl_125; + int __e_acsl_126; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_118),(long)0); + __e_acsl_119 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_118), + (__mpz_struct const *)(__e_acsl_118)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_120), + (long)(__e_acsl_119 != 0)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_121),(long)1); + __e_acsl_122 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_121), + (__mpz_struct const *)(__e_acsl_118)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_123), + (long)(__e_acsl_122 != 0)); + __e_acsl_124 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_123), + (__mpz_struct const *)(__e_acsl_118)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_125), + (long)(__e_acsl_124 == 0)); + __e_acsl_126 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_120), + (__mpz_struct const *)(__e_acsl_125)); + e_acsl_assert(__e_acsl_126 == 0,(char *)"Assertion", + (char *)"((0!=0) == !(1!=0))",32); + __gmpz_clear((__mpz_struct *)(__e_acsl_118)); + __gmpz_clear((__mpz_struct *)(__e_acsl_120)); + __gmpz_clear((__mpz_struct *)(__e_acsl_121)); + __gmpz_clear((__mpz_struct *)(__e_acsl_123)); + __gmpz_clear((__mpz_struct *)(__e_acsl_125)); + } + __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c index 579540353fa5f7cf9f0ba0f4622bbef6274c0539..585525b161f11ef815916709c8e78b551b814851 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c @@ -58,32 +58,32 @@ int main(void) /*@ assert T1[0] ≡ T2[0]; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)T1[0]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)T2[0]); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)T1[0]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)T2[0]); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion", (char *)"(T1[0] == T2[0])",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert T1[1] ≢ T2[1]; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)T1[1]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)T2[1]); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)T1[1]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)T2[1]); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 != 0,(char *)"Assertion", (char *)"(T1[1] != T2[1])",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c index 726b363c921b47a65805d5c47b75610f22a45155..347595cc463ced4fae25e2a9bba4d328a9367c93 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c @@ -20,61 +20,61 @@ int A = 0; /*@ ensures \at(A,Post) ≡ 3; */ void f(void) { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; - int __e_acsl_var_5; - int __e_acsl_var_6; - __e_acsl_var_4 = A; - __e_acsl_var = A; + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; + int __e_acsl_5; + int __e_acsl_6; + __e_acsl_4 = A; + __e_acsl = A; A = 1; - F: __e_acsl_var_5 = __e_acsl_var_4; - __e_acsl_var_2 = A; + F: __e_acsl_5 = __e_acsl_4; + __e_acsl_2 = A; A = 2; /*@ assert \at(A,Pre) ≡ 0; */ ; - e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion", + e_acsl_assert(__e_acsl == 0,(char *)"Assertion", (char *)"(\\at(A,Pre) == 0)",13); /*@ assert \at(A,F) ≡ 1; */ ; - e_acsl_assert(__e_acsl_var_2 == 1,(char *)"Assertion", + e_acsl_assert(__e_acsl_2 == 1,(char *)"Assertion", (char *)"(\\at(A,F) == 1)",14); /*@ assert \at(A,Here) ≡ 2; */ ; - __e_acsl_var_3 = A; - e_acsl_assert(__e_acsl_var_3 == 2,(char *)"Assertion", + __e_acsl_3 = A; + e_acsl_assert(__e_acsl_3 == 2,(char *)"Assertion", (char *)"(\\at(A,Here) == 2)",15); /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ; - e_acsl_assert(__e_acsl_var_5 == 0,(char *)"Assertion", + e_acsl_assert(__e_acsl_5 == 0,(char *)"Assertion", (char *)"(\\at(\\at(A,Pre),F) == 0)",16); A = 3; - __e_acsl_var_6 = A; - e_acsl_assert(__e_acsl_var_6 == 3,(char *)"Postcondition", + __e_acsl_6 = A; + e_acsl_assert(__e_acsl_6 == 3,(char *)"Postcondition", (char *)"(\\at(A,Post) == 3)",9); return; } void g(int *p, int *q) { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; *p = 0; *(p + 1) = 1; *q = 0; - L1: __e_acsl_var_3 = *q; - __e_acsl_var = *q; + L1: __e_acsl_3 = *q; + __e_acsl = *q; *p = 2; *(p + 1) = 3; *q = 1; - L2: __e_acsl_var_2 = *(p + __e_acsl_var); + L2: __e_acsl_2 = *(p + __e_acsl); A = 4; /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */ ; - e_acsl_assert(__e_acsl_var_2 == 2,(char *)"Assertion", + e_acsl_assert(__e_acsl_2 == 2,(char *)"Assertion", (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32); L3: /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */ ; - __e_acsl_var_4 = *(p + __e_acsl_var_3); - e_acsl_assert(__e_acsl_var_4 == 2,(char *)"Assertion", + __e_acsl_4 = *(p + __e_acsl_3); + e_acsl_assert(__e_acsl_4 == 2,(char *)"Assertion", (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34); return; } @@ -84,26 +84,26 @@ int main(void) int __retres; int x; int t[2]; - int __e_acsl_var; - long long __e_acsl_var_2; - int __e_acsl_var_3; + int __e_acsl; + long long __e_acsl_2; + int __e_acsl_3; x = 0; - L: __e_acsl_var_3 = x; - __e_acsl_var_2 = (long long)x + (long long)1; - __e_acsl_var = x; + L: __e_acsl_3 = x; + __e_acsl_2 = (long long)x + (long long)1; + __e_acsl = x; /*@ assert x ≡ 0; */ ; e_acsl_assert(x == 0,(char *)"Assertion",(char *)"(x == 0)",45); x = 1; x = 2; f(); /*@ assert \at(x,L) ≡ 0; */ ; - e_acsl_assert(__e_acsl_var == 0,(char *)"Assertion", - (char *)"(\\at(x,L) == 0)",50); + e_acsl_assert(__e_acsl == 0,(char *)"Assertion",(char *)"(\\at(x,L) == 0)", + 50); /*@ assert \at(x+1,L) ≡ 1; */ ; - e_acsl_assert(__e_acsl_var_2 == (long long)1,(char *)"Assertion", + e_acsl_assert(__e_acsl_2 == (long long)1,(char *)"Assertion", (char *)"(\\at(x+1,L) == 1)",51); /*@ assert \at(x,L)+1 ≡ 1; */ ; - e_acsl_assert((long long)__e_acsl_var_3 + (long long)1 == (long long)1, + e_acsl_assert((long long)__e_acsl_3 + (long long)1 == (long long)1, (char *)"Assertion",(char *)"(\\at(x,L)+1 == 1)",52); g(t,& x); __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..4496fe241481f97c426b3a08faa273aa835c2589 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c @@ -9,14 +9,15 @@ typedef __mpz_struct mpz_t[1]; /*@ ensures \valid(\old(x)); assigns *x; */ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); +/*@ requires \valid(z_orig); + ensures \valid(\old(z)); + assigns *z; */ +extern void __gmpz_init_set(__mpz_struct * /*[1]*/ z, + __mpz_struct const * /*[1]*/ z_orig); /*@ ensures \valid(\old(z)); assigns *z; assigns *z \from n; */ extern void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ ensures \valid(\old(z)); - assigns *z; */ -extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str, - int base); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -25,11 +26,6 @@ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); assigns \nothing; */ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); requires \valid(z2); requires \valid(z3); @@ -38,43 +34,6 @@ extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_mul(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern int __gmpz_com(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ terminates \false; ensures \false; assigns \nothing; */ @@ -92,424 +51,249 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) return; } -int main(void) +int A = 0; +/*@ ensures \at(A,Post) ≡ 3; */ +void f(void) { - int __retres; - int x; - int y; - x = -3; - y = 2; - /*@ assert -3 ≡ x; */ ; + int __e_acsl; + int __e_acsl_5; + int __e_acsl_9; + int __e_acsl_13; + int __e_acsl_14; + int __e_acsl_18; + __e_acsl_13 = A; + __e_acsl = A; + A = 1; + F: __e_acsl_14 = __e_acsl_13; + __e_acsl_5 = A; + A = 2; + /*@ assert \at(A,Pre) ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); + mpz_t __e_acsl_2; + mpz_t __e_acsl_3; + int __e_acsl_4; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)__e_acsl); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)0); + __e_acsl_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_2), + (__mpz_struct const *)(__e_acsl_3)); + e_acsl_assert(__e_acsl_4 == 0,(char *)"Assertion", + (char *)"(\\at(A,Pre) == 0)",13); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); } - /*@ assert x ≡ -3; */ ; + /*@ assert \at(A,F) ≡ 1; */ ; { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + mpz_t __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)__e_acsl_5); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)1); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_6), + (__mpz_struct const *)(__e_acsl_7)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Assertion", + (char *)"(\\at(A,F) == 1)",14); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } - /*@ assert 0 ≢ ~0; */ ; + /*@ assert \at(A,Here) ≡ 2; */ ; { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __e_acsl_9 = A; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)__e_acsl_9); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)2); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Assertion", + (char *)"(\\at(A,Here) == 2)",15); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } - /*@ assert x+1 ≡ -2; */ ; + /*@ assert \at(\at(A,Pre),F) ≡ 0; */ ; { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)__e_acsl_14); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)0); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 == 0,(char *)"Assertion", + (char *)"(\\at(\\at(A,Pre),F) == 0)",16); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); } - /*@ assert x-1 ≡ -4; */ ; + A = 3; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; + __e_acsl_18 = A; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)__e_acsl_18); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)3); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + e_acsl_assert(__e_acsl_21 == 0,(char *)"Postcondition", + (char *)"(\\at(A,Post) == 3)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + return; } - /*@ assert x*3 ≡ -9; */ ; +} + +void g(int *p, int *q) +{ + int __e_acsl; + int __e_acsl_2; + int __e_acsl_6; + int __e_acsl_7; + *p = 0; + *(p + 1) = 1; + *q = 0; + L1: __e_acsl_6 = *q; + __e_acsl = *q; + *p = 2; + *(p + 1) = 3; + *q = 1; + L2: __e_acsl_2 = *(p + (long)__e_acsl); + A = 4; + /*@ assert \at(*(p+\at(*q,L1)),L2) ≡ 2; */ ; { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)__e_acsl_2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)2); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_4)); + e_acsl_assert(__e_acsl_5 == 0,(char *)"Assertion", + (char *)"(\\at(*(p+\\at(*q,L1)),L2) == 2)",32); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } - /*@ assert x/3 ≡ -1; */ ; + L3: + /*@ assert \at(*(p+\at(*q,L1)),Here) ≡ 2; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); - /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", - (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + int __e_acsl_10; + __e_acsl_7 = *(p + (long)__e_acsl_6); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)__e_acsl_7); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)2); + __e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + e_acsl_assert(__e_acsl_10 == 0,(char *)"Assertion", + (char *)"(\\at(*(p+\\at(*q,L1)),Here) == 2)",34); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } - /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; + return; +} + +int main(void) +{ + int __retres; + int x; + int t[2]; + int __e_acsl_4; + mpz_t __e_acsl_11; + int __e_acsl_14; + x = 0; + L: __e_acsl_14 = x; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", - (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", - (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_10)); + __gmpz_add((__mpz_struct *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + __gmpz_init_set((__mpz_struct *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } - /*@ assert x%2 ≡ -1; */ ; + __e_acsl_4 = x; + /*@ assert x ≡ 0; */ ; { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); - /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", - (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(x == 0)",45); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } - /*@ assert -3%-2 ≡ -1; */ ; + x = 1; + x = 2; + f(); + /*@ assert \at(x,L) ≡ 0; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", - (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)__e_acsl_4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)0); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_6)); + e_acsl_assert(__e_acsl_7 == 0,(char *)"Assertion", + (char *)"(\\at(x,L) == 0)",50); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); } - /*@ assert 3%-2 ≡ 1; */ ; + /*@ assert \at(x+1,L) ≡ 1; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); + mpz_t __e_acsl_12; + int __e_acsl_13; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)1); + __e_acsl_13 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_12)); + e_acsl_assert(__e_acsl_13 == 0,(char *)"Assertion", + (char *)"(\\at(x+1,L) == 1)",51); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); } - /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; + /*@ assert \at(x,L)+1 ≡ 1; */ ; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", - (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)__e_acsl_14); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_17)); + __gmpz_add((__mpz_struct *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_18 == 0,(char *)"Assertion", + (char *)"(\\at(x,L)+1 == 1)",52); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } - /*@ assert (0≡1) ≡ !(0≡0); */ ; - /*@ assert (0≤-1) ≡ (0>0); */ ; - /*@ assert (0≥-1) ≡ (0≤0); */ ; - /*@ assert (0≢1) ≡ !(0≢0); */ ; - /*@ assert (0≢0) ≡ !(1≢0); */ ; + g(t,& x); __retres = 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c index 1f191ec9c6f02aec909a563635591cfb38cc33e6..c586dccf17911440c4a71942ee48e211e421ce0c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c @@ -55,110 +55,110 @@ int main(void) y = 0; /*@ assert (int)x ≡ y; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)((int)x)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)((int)x)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion", (char *)"((int)x == y)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert x ≡ (long)y; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)y); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)y); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion", (char *)"(x == (long)y)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } /*@ assert y ≡ (int)0; */ ; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion", + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)0); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Assertion", (char *)"(y == (int)0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } /*@ assert (unsigned int)y ≡ (unsigned int)0; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_10), + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_10), (unsigned long)((unsigned int)y)); - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_11), + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_11), (unsigned long)((unsigned int)0)); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Assertion", + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Assertion", (char *)"((unsigned int)y == (unsigned int)0)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } /*@ assert y ≢ (int)0xfffffffffffffff; */ ; { - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - unsigned long __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)y); - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_14), - "1152921504606846975",10); - __e_acsl_var_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_14)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16), - (long)((int)__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 != 0,(char *)"Assertion", + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + unsigned long __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)y); + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_14),"1152921504606846975", + 10); + __e_acsl_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_14)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16), + (long)((int)__e_acsl_15)); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 != 0,(char *)"Assertion", (char *)"(y != (int)0xfffffffffffffff)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); } /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - unsigned long __e_acsl_var_20; - mpz_t __e_acsl_var_21; - int __e_acsl_var_22; - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_18), + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + unsigned long __e_acsl_20; + mpz_t __e_acsl_21; + int __e_acsl_22; + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_18), (unsigned long)((unsigned int)y)); - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_19), - "1152921504606846975",10); - __e_acsl_var_20 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var_21), - (unsigned long)((unsigned int)__e_acsl_var_20)); - __e_acsl_var_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_21)); - e_acsl_assert(__e_acsl_var_22 != 0,(char *)"Assertion", + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_19),"1152921504606846975", + 10); + __e_acsl_20 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_19)); + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_21), + (unsigned long)((unsigned int)__e_acsl_20)); + __e_acsl_22 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_21)); + e_acsl_assert(__e_acsl_22 != 0,(char *)"Assertion", (char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)", 19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c index c788f41e1b4260ad7c865033b1d7cc97de6e0194..161406dc00ccbb236cec9e70a23ec64728370186 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c @@ -53,61 +53,58 @@ int main(void) y = 1; /*@ assert x < y; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert y > x; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 > 0,(char *)"Assertion",(char *)"(y > x)", - 10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)x); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 > 0,(char *)"Assertion",(char *)"(y > x)",10); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } /*@ assert x ≤ 0; */ ; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 <= 0,(char *)"Assertion",(char *)"(x <= 0)", - 11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)0); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 <= 0,(char *)"Assertion",(char *)"(x <= 0)",11); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } /*@ assert y ≥ 1; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 >= 0,(char *)"Assertion", - (char *)"(y >= 1)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)1); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 >= 0,(char *)"Assertion",(char *)"(y >= 1)",12); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } s = (char *)"toto"; @@ -118,206 +115,201 @@ int main(void) (char *)"(\"toto\" != \"titi\")",15); /*@ assert 5 < 18; */ ; { - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - int __e_acsl_var_15; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)5); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)18); - __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - e_acsl_assert(__e_acsl_var_15 < 0,(char *)"Assertion",(char *)"(5 < 18)", - 16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + int __e_acsl_15; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)5); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)18); + __e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + e_acsl_assert(__e_acsl_15 < 0,(char *)"Assertion",(char *)"(5 < 18)",16); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); } /*@ assert 32 > 3; */ ; { - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - int __e_acsl_var_18; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)32); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)3); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_17)); - e_acsl_assert(__e_acsl_var_18 > 0,(char *)"Assertion",(char *)"(32 > 3)", - 17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)32); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)3); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_17)); + e_acsl_assert(__e_acsl_18 > 0,(char *)"Assertion",(char *)"(32 > 3)",17); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } /*@ assert 12 ≤ 13; */ ; { - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)12); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)13); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19), - (__mpz_struct const *)(__e_acsl_var_20)); - e_acsl_assert(__e_acsl_var_21 <= 0,(char *)"Assertion", - (char *)"(12 <= 13)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)12); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)13); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + e_acsl_assert(__e_acsl_21 <= 0,(char *)"Assertion",(char *)"(12 <= 13)", + 18); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); } /*@ assert 123 ≥ 12; */ ; { - mpz_t __e_acsl_var_22; - mpz_t __e_acsl_var_23; - int __e_acsl_var_24; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)123); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)12); - __e_acsl_var_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_23)); - e_acsl_assert(__e_acsl_var_24 >= 0,(char *)"Assertion", - (char *)"(123 >= 12)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + int __e_acsl_24; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)123); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)12); + __e_acsl_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_23)); + e_acsl_assert(__e_acsl_24 >= 0,(char *)"Assertion",(char *)"(123 >= 12)", + 19); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); } /*@ assert 0xff ≡ 0xff; */ ; { - mpz_t __e_acsl_var_25; - int __e_acsl_var_26; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)0xff); - __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_25)); - e_acsl_assert(__e_acsl_var_26 == 0,(char *)"Assertion", + mpz_t __e_acsl_25; + int __e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)0xff); + __e_acsl_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_25)); + e_acsl_assert(__e_acsl_26 == 0,(char *)"Assertion", (char *)"(0xff == 0xff)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); } /*@ assert 1 ≢ 2; */ ; { - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)2); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 != 0,(char *)"Assertion", - (char *)"(1 != 2)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + int __e_acsl_29; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)2); + __e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_27), + (__mpz_struct const *)(__e_acsl_28)); + e_acsl_assert(__e_acsl_29 != 0,(char *)"Assertion",(char *)"(1 != 2)",21); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); } /*@ assert -5 < 18; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)5); - __gmpz_init((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_30)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)18); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - e_acsl_assert(__e_acsl_var_33 < 0,(char *)"Assertion", - (char *)"(-5 < 18)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)5); + __gmpz_init((__mpz_struct *)(__e_acsl_31)); + __gmpz_neg((__mpz_struct *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_30)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)18); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + e_acsl_assert(__e_acsl_33 < 0,(char *)"Assertion",(char *)"(-5 < 18)",23); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } /*@ assert 32 > -3; */ ; { - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34),(long)32); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 > 0,(char *)"Assertion", - (char *)"(32 > -3)",24); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + int __e_acsl_37; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)32); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)3); + __gmpz_init((__mpz_struct *)(__e_acsl_36)); + __gmpz_neg((__mpz_struct *)(__e_acsl_36), + (__mpz_struct const *)(__e_acsl_35)); + __e_acsl_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_36)); + e_acsl_assert(__e_acsl_37 > 0,(char *)"Assertion",(char *)"(32 > -3)",24); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); } /*@ assert -12 ≤ 13; */ ; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - mpz_t __e_acsl_var_40; - int __e_acsl_var_41; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_38),(long)12); - __gmpz_init((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)13); - __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_40)); - e_acsl_assert(__e_acsl_var_41 <= 0,(char *)"Assertion", - (char *)"(-12 <= 13)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_40)); + mpz_t __e_acsl_38; + mpz_t __e_acsl_39; + mpz_t __e_acsl_40; + int __e_acsl_41; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_38),(long)12); + __gmpz_init((__mpz_struct *)(__e_acsl_39)); + __gmpz_neg((__mpz_struct *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_38)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)13); + __e_acsl_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_40)); + e_acsl_assert(__e_acsl_41 <= 0,(char *)"Assertion",(char *)"(-12 <= 13)", + 25); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); } /*@ assert 123 ≥ -12; */ ; { - mpz_t __e_acsl_var_42; - mpz_t __e_acsl_var_43; - mpz_t __e_acsl_var_44; - int __e_acsl_var_45; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)123); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_43),(long)12); - __gmpz_init((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_43)); - __e_acsl_var_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_42), - (__mpz_struct const *)(__e_acsl_var_44)); - e_acsl_assert(__e_acsl_var_45 >= 0,(char *)"Assertion", + mpz_t __e_acsl_42; + mpz_t __e_acsl_43; + mpz_t __e_acsl_44; + int __e_acsl_45; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_42),(long)123); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)12); + __gmpz_init((__mpz_struct *)(__e_acsl_44)); + __gmpz_neg((__mpz_struct *)(__e_acsl_44), + (__mpz_struct const *)(__e_acsl_43)); + __e_acsl_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_42), + (__mpz_struct const *)(__e_acsl_44)); + e_acsl_assert(__e_acsl_45 >= 0,(char *)"Assertion", (char *)"(123 >= -12)",26); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_43)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); + __gmpz_clear((__mpz_struct *)(__e_acsl_42)); + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_44)); } /*@ assert -0xff ≡ -0xff; */ ; { - mpz_t __e_acsl_var_46; - mpz_t __e_acsl_var_47; - int __e_acsl_var_48; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0xff); - __gmpz_init((__mpz_struct *)(__e_acsl_var_47)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_46)); - __e_acsl_var_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_47)); - e_acsl_assert(__e_acsl_var_48 == 0,(char *)"Assertion", + mpz_t __e_acsl_46; + mpz_t __e_acsl_47; + int __e_acsl_48; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_46),(long)0xff); + __gmpz_init((__mpz_struct *)(__e_acsl_47)); + __gmpz_neg((__mpz_struct *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_46)); + __e_acsl_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_47)); + e_acsl_assert(__e_acsl_48 == 0,(char *)"Assertion", (char *)"(-0xff == -0xff)",27); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); } /*@ assert 1 ≢ -2; */ ; { - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - mpz_t __e_acsl_var_51; - int __e_acsl_var_52; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_50),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_51)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_51), - (__mpz_struct const *)(__e_acsl_var_50)); - __e_acsl_var_52 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_49), - (__mpz_struct const *)(__e_acsl_var_51)); - e_acsl_assert(__e_acsl_var_52 != 0,(char *)"Assertion", - (char *)"(1 != -2)",28); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_51)); + mpz_t __e_acsl_49; + mpz_t __e_acsl_50; + mpz_t __e_acsl_51; + int __e_acsl_52; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_49),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_50),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_51)); + __gmpz_neg((__mpz_struct *)(__e_acsl_51), + (__mpz_struct const *)(__e_acsl_50)); + __e_acsl_52 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_49), + (__mpz_struct const *)(__e_acsl_51)); + e_acsl_assert(__e_acsl_52 != 0,(char *)"Assertion",(char *)"(1 != -2)", + 28); + __gmpz_clear((__mpz_struct *)(__e_acsl_49)); + __gmpz_clear((__mpz_struct *)(__e_acsl_50)); + __gmpz_clear((__mpz_struct *)(__e_acsl_51)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c index cf98dc4d91082b705ff3df0ee251ce2e41c9d77a..8699f6c1d03d74d35d3bb51742ddf0055b4f324d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c @@ -93,26 +93,26 @@ void j(void) void k(void) { { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; - int __e_acsl_var_5; - if (! (X == 1)) { __e_acsl_var = 1; } - else { __e_acsl_var = X == 0; } - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; + int __e_acsl_5; + if (! (X == 1)) { __e_acsl = 1; } + else { __e_acsl = X == 0; } + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(X == 1 ==> X == 0)",40); - if (X == 3) { __e_acsl_var_2 = Y == 2; } - else { __e_acsl_var_2 = 0; } - if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; } - else { __e_acsl_var_3 = X == 3; } - e_acsl_assert(__e_acsl_var_3,(char *)"Precondition", + if (X == 3) { __e_acsl_2 = Y == 2; } + else { __e_acsl_2 = 0; } + if (! __e_acsl_2) { __e_acsl_3 = 1; } + else { __e_acsl_3 = X == 3; } + e_acsl_assert(__e_acsl_3,(char *)"Precondition", (char *)"(X == 3 && Y == 2 ==> X == 3)",44); - if (X == 3) { __e_acsl_var_4 = Y == 2; } - else { __e_acsl_var_4 = 0; } - if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; } - else { __e_acsl_var_5 = (long long)X + (long long)Y == (long long)5; } - e_acsl_assert(__e_acsl_var_5,(char *)"Precondition", + if (X == 3) { __e_acsl_4 = Y == 2; } + else { __e_acsl_4 = 0; } + if (! __e_acsl_4) { __e_acsl_5 = 1; } + else { __e_acsl_5 = (long long)X + (long long)Y == (long long)5; } + e_acsl_assert(__e_acsl_5,(char *)"Precondition", (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45); X += Y; } @@ -143,42 +143,41 @@ int l(void) */ void m(void) { - int __e_acsl_var; - int __e_acsl_var_4; - int __e_acsl_var_7; - int __e_acsl_var_8; - __e_acsl_var_8 = X; - { int __e_acsl_var_6; - if (X == 5) { __e_acsl_var_6 = Y == 2; } - else { __e_acsl_var_6 = 0; } - __e_acsl_var_7 = __e_acsl_var_6; + int __e_acsl; + int __e_acsl_4; + int __e_acsl_7; + int __e_acsl_8; + __e_acsl_8 = X; + { int __e_acsl_6; + if (X == 5) { __e_acsl_6 = Y == 2; } + else { __e_acsl_6 = 0; } + __e_acsl_7 = __e_acsl_6; } - { int __e_acsl_var_3; - if (X == 5) { __e_acsl_var_3 = Y == 2; } - else { __e_acsl_var_3 = 0; } - __e_acsl_var_4 = __e_acsl_var_3; + { int __e_acsl_3; + if (X == 5) { __e_acsl_3 = Y == 2; } + else { __e_acsl_3 = 0; } + __e_acsl_4 = __e_acsl_3; } - __e_acsl_var = X == 7; + __e_acsl = X == 7; X += Y; { - int __e_acsl_var_2; - int __e_acsl_var_5; - int __e_acsl_var_9; - if (! __e_acsl_var) { __e_acsl_var_2 = 1; } - else { __e_acsl_var_2 = X == 95; } - e_acsl_assert(__e_acsl_var_2,(char *)"Postcondition", + int __e_acsl_2; + int __e_acsl_5; + int __e_acsl_9; + if (! __e_acsl) { __e_acsl_2 = 1; } + else { __e_acsl_2 = X == 95; } + e_acsl_assert(__e_acsl_2,(char *)"Postcondition", (char *)"(\\old(X == 7) ==> X == 95)",58); - if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; } - else { __e_acsl_var_5 = X == 7; } - e_acsl_assert(__e_acsl_var_5,(char *)"Postcondition", + if (! __e_acsl_4) { __e_acsl_5 = 1; } + else { __e_acsl_5 = X == 7; } + e_acsl_assert(__e_acsl_5,(char *)"Postcondition", (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62); - if (! __e_acsl_var_7) { __e_acsl_var_9 = 1; } - else { - __e_acsl_var_9 = (long long)X == (long long)__e_acsl_var_8 + (long long)Y; + if (! __e_acsl_7) { __e_acsl_9 = 1; } + else { __e_acsl_9 = (long long)X == (long long)__e_acsl_8 + (long long)Y; } - e_acsl_assert(__e_acsl_var_9,(char *)"Postcondition", + e_acsl_assert(__e_acsl_9,(char *)"Postcondition", (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63); return; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..0fc69749e1502b30d4cb90a651bb88ad78abee7e 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c @@ -13,10 +13,6 @@ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); assigns *z; assigns *z \from n; */ extern void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ ensures \valid(\old(z)); - assigns *z; */ -extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str, - int base); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -25,11 +21,6 @@ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); assigns \nothing; */ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); requires \valid(z2); requires \valid(z3); @@ -38,43 +29,6 @@ extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_mul(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern int __gmpz_com(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ terminates \false; ensures \false; assigns \nothing; */ @@ -92,423 +46,519 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) return; } -int main(void) +int X = 0; +int Y = 2; +/*@ ensures X ≡ 1; */ +void f(void) { - int __retres; - int x; - int y; - x = -3; - y = 2; - /*@ assert -3 ≡ x; */ ; + X = 1; + { + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition",(char *)"(X == 1)", + 10); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + return; + } + +} + +/*@ ensures X ≡ 2; + ensures Y ≡ 2; */ +void g(void) +{ + X = 2; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)2); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition",(char *)"(X == 2)", + 14); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)Y); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_5 == 0,(char *)"Postcondition",(char *)"(Y == 2)", + 15); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + return; } - /*@ assert x ≡ -3; */ ; +} + +/*@ requires X ≡ 2; */ +void h(void) +{ { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)2); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Precondition",(char *)"(X == 2)", + 19); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + X ++; } - /*@ assert 0 ≢ ~0; */ ; + return; +} + +/*@ requires X ≡ 3; + requires Y ≡ 2; */ +void i(void) +{ { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)3); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Precondition",(char *)"(X == 3)", + 23); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)2); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Precondition",(char *)"(Y == 2)", + 24); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + X += Y; } - /*@ assert x+1 ≡ -2; */ ; + return; +} + +/*@ behavior b1: + requires X ≡ 5; + ensures X ≡ 3; + + behavior b2: + requires X ≡ 3+Y; + requires Y ≡ 2; + ensures X ≡ Y+1; + + +*/ +void j(void) +{ { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + int __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)5); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Precondition",(char *)"(X == 5)", + 29); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)Y); + __gmpz_init((__mpz_struct *)(__e_acsl_6)); + __gmpz_add((__mpz_struct *)(__e_acsl_6), + (__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_6)); + e_acsl_assert(__e_acsl_7 == 0,(char *)"Precondition", + (char *)"(X == 3+Y)",32); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)2); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Precondition",(char *)"(Y == 2)", + 33); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + X = 3; } - /*@ assert x-1 ≡ -4; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + mpz_t __e_acsl_15; + int __e_acsl_16; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)3); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Postcondition", + (char *)"(X == 3)",30); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_15)); + __gmpz_add((__mpz_struct *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + __e_acsl_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_15)); + e_acsl_assert(__e_acsl_16 == 0,(char *)"Postcondition", + (char *)"(X == Y+1)",34); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + return; } - /*@ assert x*3 ≡ -9; */ ; +} + +/*@ behavior b1: + assumes X ≡ 1; + requires X ≡ 0; + + behavior b2: + assumes X ≡ 3; + assumes Y ≡ 2; + requires X ≡ 3; + requires X+Y ≡ 5; + + +*/ +void k(void) +{ { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + int __e_acsl_13; + int __e_acsl_17; + int __e_acsl_18; + int __e_acsl_22; + int __e_acsl_28; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + if (! (__e_acsl_3 == 0)) { __e_acsl_7 = 1; } + else { + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __e_acsl_6 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + } + e_acsl_assert(__e_acsl_7,(char *)"Precondition", + (char *)"(X == 1 ==> X == 0)",40); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)3); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_8)); + if (__e_acsl_9 == 0) { + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)2); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + __e_acsl_13 = __e_acsl_12 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + } + else { __e_acsl_13 = 0; } + if (! __e_acsl_13) { __e_acsl_17 = 1; } + else { + mpz_t __e_acsl_14; + mpz_t __e_acsl_15; + int __e_acsl_16; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)3); + __e_acsl_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_14), + (__mpz_struct const *)(__e_acsl_15)); + __e_acsl_17 = __e_acsl_16 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + } + e_acsl_assert(__e_acsl_17,(char *)"Precondition", + (char *)"(X == 3 && Y == 2 ==> X == 3)",44); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_8)); + if (__e_acsl_18 == 0) { + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)2); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + __e_acsl_22 = __e_acsl_21 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + } + else { __e_acsl_22 = 0; } + if (! __e_acsl_22) { __e_acsl_28 = 1; } + else { + mpz_t __e_acsl_23; + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)Y); + __gmpz_init((__mpz_struct *)(__e_acsl_25)); + __gmpz_add((__mpz_struct *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_24)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)5); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_26)); + __e_acsl_28 = __e_acsl_27 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + } + e_acsl_assert(__e_acsl_28,(char *)"Precondition", + (char *)"(X == 3 && Y == 2 ==> X+Y == 5)",45); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + X += Y; } - /*@ assert x/3 ≡ -1; */ ; + return; +} + +/*@ ensures X ≡ 5; */ +int l(void) +{ + /*@ assert Y ≡ 2; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); - /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", - (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)2); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(Y == 2)",51); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } - /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", - (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", - (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)5); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Postcondition",(char *)"(X == 5)", + 49); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + return (X); } - /*@ assert x%2 ≡ -1; */ ; +} + +/*@ behavior b1: + assumes X ≡ 7; + ensures X ≡ 95; + + behavior b2: + assumes X ≡ 5; + assumes Y ≡ 2; + ensures X ≡ 7; + ensures X ≡ \old(X)+Y; + + +*/ +void m(void) +{ + int __e_acsl_4; + int __e_acsl_16; + int __e_acsl_28; + int __e_acsl_30; + __e_acsl_30 = X; { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); - /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", - (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + int __e_acsl_23; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)5); + __e_acsl_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_22)); + if (__e_acsl_23 == 0) { + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + int __e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)2); + __e_acsl_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_24), + (__mpz_struct const *)(__e_acsl_25)); + __e_acsl_27 = __e_acsl_26 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + } + else { __e_acsl_27 = 0; } + __e_acsl_28 = __e_acsl_27; + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); } - /*@ assert -3%-2 ≡ -1; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", - (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + int __e_acsl_11; + int __e_acsl_15; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)5); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9), + (__mpz_struct const *)(__e_acsl_10)); + if (__e_acsl_11 == 0) { + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + int __e_acsl_14; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)Y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)2); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __e_acsl_15 = __e_acsl_14 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + } + else { __e_acsl_15 = 0; } + __e_acsl_16 = __e_acsl_15; + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } - /*@ assert 3%-2 ≡ 1; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)7); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + __e_acsl_4 = __e_acsl_3 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } - /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; + X += Y; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", - (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + int __e_acsl_8; + int __e_acsl_20; + int __e_acsl_35; + if (! __e_acsl_4) { __e_acsl_8 = 1; } + else { + mpz_t __e_acsl_5; + mpz_t __e_acsl_6; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_6),(long)95); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_6)); + __e_acsl_8 = __e_acsl_7 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); + } + e_acsl_assert(__e_acsl_8,(char *)"Postcondition", + (char *)"(\\old(X == 7) ==> X == 95)",58); + if (! __e_acsl_16) { __e_acsl_20 = 1; } + else { + mpz_t __e_acsl_17; + mpz_t __e_acsl_18; + int __e_acsl_19; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)7); + __e_acsl_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_18)); + __e_acsl_20 = __e_acsl_19 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + } + e_acsl_assert(__e_acsl_20,(char *)"Postcondition", + (char *)"(\\old(X == 5 && Y == 2) ==> X == 7)",62); + if (! __e_acsl_28) { __e_acsl_35 = 1; } + else { + mpz_t __e_acsl_29; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + mpz_t __e_acsl_33; + int __e_acsl_34; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_29),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)__e_acsl_30); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)Y); + __gmpz_init((__mpz_struct *)(__e_acsl_33)); + __gmpz_add((__mpz_struct *)(__e_acsl_33), + (__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + __e_acsl_34 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_29), + (__mpz_struct const *)(__e_acsl_33)); + __e_acsl_35 = __e_acsl_34 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_29)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_33)); + } + e_acsl_assert(__e_acsl_35,(char *)"Postcondition", + (char *)"(\\old(X == 5 && Y == 2) ==> X == \\old(X)+Y)",63); + return; } - /*@ assert (0≡1) ≡ !(0≡0); */ ; - /*@ assert (0≤-1) ≡ (0>0); */ ; - /*@ assert (0≥-1) ≡ (0≤0); */ ; - /*@ assert (0≢1) ≡ !(0≢0); */ ; - /*@ assert (0≢0) ≡ !(1≢0); */ ; +} + +int main(void) +{ + int __retres; + f(); + g(); + h(); + i(); + j(); + k(); + l(); + m(); __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c index adb8995b482ff01e25c9927e40c47c488ae0e8fc..978b28bb0521a122f80a464af4804fbb1febbf63 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c @@ -45,43 +45,41 @@ int main(void) int x; /*@ assert 0 ≡ 0; */ ; { - mpz_t __e_acsl_var; - int __e_acsl_var_2; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)0); - __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var)); - e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion",(char *)"(0 == 0)", - 9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); + mpz_t __e_acsl; + int __e_acsl_2; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)0); + __e_acsl_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl)); + e_acsl_assert(__e_acsl_2 == 0,(char *)"Assertion",(char *)"(0 == 0)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); } x = 0; /*@ assert 0 ≢ 1; */ ; { - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)0); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)1); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_4)); - e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion",(char *)"(0 != 1)", - 10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)1); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_4)); + e_acsl_assert(__e_acsl_5 != 0,(char *)"Assertion",(char *)"(0 != 1)",10); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ; { - mpz_t __e_acsl_var_6; - int __e_acsl_var_7; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_6), - "1152921504606846975",10); - __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_6), - (__mpz_struct const *)(__e_acsl_var_6)); - e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Assertion", + mpz_t __e_acsl_6; + int __e_acsl_7; + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_6),"1152921504606846975", + 10); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_6), + (__mpz_struct const *)(__e_acsl_6)); + e_acsl_assert(__e_acsl_7 == 0,(char *)"Assertion", (char *)"(1152921504606846975 == 0xfffffffffffffff)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c index dbc15a14e1d1fcf3b9d6a0d47a50f122c96553df..2ec083eef6821595201e23bc06d72e4a77cf8756 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant.c @@ -27,10 +27,10 @@ int main(void) while (1) { if (! (i < 10)) { break; } /*@ invariant 0 ≤ i ∧ i < 10; */ ; - { int __e_acsl_var; - if (0 <= i) { __e_acsl_var = i < 10; } - else { __e_acsl_var = 0; } - e_acsl_assert(__e_acsl_var,(char *)"Invariant", + { int __e_acsl; + if (0 <= i) { __e_acsl = i < 10; } + else { __e_acsl = 0; } + e_acsl_assert(__e_acsl,(char *)"Invariant", (char *)"(0 <= i && i < 10)",9); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c index 77eddffa2f825a1bc18c8336f7e1f4f1a5b8d23d..376230737c4bf2ee10fa51f4a6e4d470cdb3f175 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c @@ -47,47 +47,47 @@ int main(void) if (! (i < 10)) { break; } /*@ invariant 0 ≤ i ∧ i < 10; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)0); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)i); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - if (__e_acsl_var_3 <= 0) { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)i); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)10); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - __e_acsl_var_7 = __e_acsl_var_6 < 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)i); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + if (__e_acsl_3 <= 0) { + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)i); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)10); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __e_acsl_6 < 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } - else { __e_acsl_var_7 = 0; } - e_acsl_assert(__e_acsl_var_7,(char *)"Invariant", + else { __e_acsl_7 = 0; } + e_acsl_assert(__e_acsl_7,(char *)"Invariant", (char *)"(0 <= i && i < 10)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } x += i; /*@ invariant i ≤ x; */ ; { - mpz_t __e_acsl_var_8; - mpz_t __e_acsl_var_9; - int __e_acsl_var_10; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)i); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)x); - __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8), - (__mpz_struct const *)(__e_acsl_var_9)); - e_acsl_assert(__e_acsl_var_10 <= 0,(char *)"Invariant", + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + int __e_acsl_10; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)i); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)x); + __e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + e_acsl_assert(__e_acsl_10 <= 0,(char *)"Invariant", (char *)"(i <= x)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } i ++; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c index 378b9606564765ac0ef2954ccb43293731cb1f8b..4d2ed93a5bda519b97f910dd6be01c090617901d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c @@ -44,17 +44,16 @@ int main(void) L1: /*@ assert X ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(X == 0)", - 12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(X == 0)",12); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } X = 1; @@ -63,32 +62,32 @@ int main(void) /*@ requires X ≡ 1; ensures X ≡ 2; */ { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)1); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)1); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Precondition", (char *)"(X == 1)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); X = 2; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)2); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Postcondition", - (char *)"(X == 2)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)2); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Postcondition",(char *)"(X == 2)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } if (X) { @@ -98,17 +97,17 @@ int main(void) __retres = 0; return_label: { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)3); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition", + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)3); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Postcondition", (char *)"(X == 3)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c index b158d0b9402bc93d76a5c68d13638d6fabeed566..91838de2de0ea560aa2b80ac0aca1bc06757e770 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c @@ -24,161 +24,157 @@ int main(void) x = 0; y = 1; /*@ assert x ≡ 0 ∧ y ≡ 1; */ ; - { int __e_acsl_var; - if (x == 0) { __e_acsl_var = y == 1; } - else { __e_acsl_var = 0; } - e_acsl_assert(__e_acsl_var,(char *)"Assertion", - (char *)"(x == 0 && y == 1)",11); + { int __e_acsl; + if (x == 0) { __e_acsl = y == 1; } + else { __e_acsl = 0; } + e_acsl_assert(__e_acsl,(char *)"Assertion",(char *)"(x == 0 && y == 1)", + 11); } /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */ ; { - int __e_acsl_var_3; + int __e_acsl_3; if (x != 0) { - int __e_acsl_var_2; + int __e_acsl_2; /*@ assert 0 ≢ 0; */ ; e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",12); - __e_acsl_var_2 = 1 / 0; - __e_acsl_var_3 = y == __e_acsl_var_2; + __e_acsl_2 = 1 / 0; + __e_acsl_3 = y == __e_acsl_2; } - else { __e_acsl_var_3 = 0; } - e_acsl_assert(! __e_acsl_var_3,(char *)"Assertion", + else { __e_acsl_3 = 0; } + e_acsl_assert(! __e_acsl_3,(char *)"Assertion", (char *)"(!(x != 0 && y == 1/0))",12); } /*@ assert y ≡ 1 ∨ x ≡ 1; */ ; - { int __e_acsl_var_4; - if (y == 1) { __e_acsl_var_4 = 1; } - else { __e_acsl_var_4 = x == 1; } - e_acsl_assert(__e_acsl_var_4,(char *)"Assertion", + { int __e_acsl_4; + if (y == 1) { __e_acsl_4 = 1; } + else { __e_acsl_4 = x == 1; } + e_acsl_assert(__e_acsl_4,(char *)"Assertion", (char *)"(y == 1 || x == 1)",13); } /*@ assert x ≡ 0 ∨ y ≡ 1/0; */ ; { - int __e_acsl_var_6; - if (x == 0) { __e_acsl_var_6 = 1; } + int __e_acsl_6; + if (x == 0) { __e_acsl_6 = 1; } else { - int __e_acsl_var_5; + int __e_acsl_5; /*@ assert 0 ≢ 0; */ ; e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",14); - __e_acsl_var_5 = 1 / 0; - __e_acsl_var_6 = y == __e_acsl_var_5; + __e_acsl_5 = 1 / 0; + __e_acsl_6 = y == __e_acsl_5; } - e_acsl_assert(__e_acsl_var_6,(char *)"Assertion", + e_acsl_assert(__e_acsl_6,(char *)"Assertion", (char *)"(x == 0 || y == 1/0)",14); } /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ; - { int __e_acsl_var_7; - if (! (x == 0)) { __e_acsl_var_7 = 1; } - else { __e_acsl_var_7 = y == 1; } - e_acsl_assert(__e_acsl_var_7,(char *)"Assertion", + { int __e_acsl_7; + if (! (x == 0)) { __e_acsl_7 = 1; } + else { __e_acsl_7 = y == 1; } + e_acsl_assert(__e_acsl_7,(char *)"Assertion", (char *)"(x == 0 ==> y == 1)",15); } /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */ ; { - int __e_acsl_var_9; - if (! (x == 1)) { __e_acsl_var_9 = 1; } + int __e_acsl_9; + if (! (x == 1)) { __e_acsl_9 = 1; } else { - int __e_acsl_var_8; + int __e_acsl_8; /*@ assert 0 ≢ 0; */ ; e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",16); - __e_acsl_var_8 = 1 / 0; - __e_acsl_var_9 = y == __e_acsl_var_8; + __e_acsl_8 = 1 / 0; + __e_acsl_9 = y == __e_acsl_8; } - e_acsl_assert(__e_acsl_var_9,(char *)"Assertion", + e_acsl_assert(__e_acsl_9,(char *)"Assertion", (char *)"(x == 1 ==> y == 1/0)",16); } /*@ assert x≢0? x ≢ 0: y ≢ 0; */ ; - { int __e_acsl_var_10; - if (x != 0) { __e_acsl_var_10 = x != 0; } - else { __e_acsl_var_10 = y != 0; } - e_acsl_assert(__e_acsl_var_10,(char *)"Assertion", + { int __e_acsl_10; + if (x != 0) { __e_acsl_10 = x != 0; } + else { __e_acsl_10 = y != 0; } + e_acsl_assert(__e_acsl_10,(char *)"Assertion", (char *)"(x!=0? x != 0: y != 0)",17); } /*@ assert y≢0? y ≢ 0: x ≢ 0; */ ; - { int __e_acsl_var_11; - if (y != 0) { __e_acsl_var_11 = y != 0; } - else { __e_acsl_var_11 = x != 0; } - e_acsl_assert(__e_acsl_var_11,(char *)"Assertion", + { int __e_acsl_11; + if (y != 0) { __e_acsl_11 = y != 0; } + else { __e_acsl_11 = x != 0; } + e_acsl_assert(__e_acsl_11,(char *)"Assertion", (char *)"(y!=0? y != 0: x != 0)",18); } /*@ assert x≡1? x ≡ 18: x ≡ 0; */ ; - { int __e_acsl_var_12; - if (x == 1) { __e_acsl_var_12 = x == 18; } - else { __e_acsl_var_12 = x == 0; } - e_acsl_assert(__e_acsl_var_12,(char *)"Assertion", + { int __e_acsl_12; + if (x == 1) { __e_acsl_12 = x == 18; } + else { __e_acsl_12 = x == 0; } + e_acsl_assert(__e_acsl_12,(char *)"Assertion", (char *)"(x==1? x == 18: x == 0)",19); } /*@ assert x ≡ 2 ⇔ y ≡ 3; */ ; - { - int __e_acsl_var_13; - int __e_acsl_var_15; - if (! (x == 2)) { __e_acsl_var_13 = 1; } - else { __e_acsl_var_13 = y == 3; } - if (__e_acsl_var_13) { - int __e_acsl_var_14; - if (! (y == 3)) { __e_acsl_var_14 = 1; } - else { __e_acsl_var_14 = x == 2; } - __e_acsl_var_15 = __e_acsl_var_14; + { int __e_acsl_13; + int __e_acsl_15; + if (! (x == 2)) { __e_acsl_13 = 1; } + else { __e_acsl_13 = y == 3; } + if (__e_acsl_13) { + int __e_acsl_14; + if (! (y == 3)) { __e_acsl_14 = 1; } + else { __e_acsl_14 = x == 2; } + __e_acsl_15 = __e_acsl_14; } - else { __e_acsl_var_15 = 0; } - e_acsl_assert(__e_acsl_var_15,(char *)"Assertion", + else { __e_acsl_15 = 0; } + e_acsl_assert(__e_acsl_15,(char *)"Assertion", (char *)"(x == 2 <==> y == 3)",22); } /*@ assert x ≡ 0 ⇔ y ≡ 1; */ ; - { - int __e_acsl_var_16; - int __e_acsl_var_18; - if (! (x == 0)) { __e_acsl_var_16 = 1; } - else { __e_acsl_var_16 = y == 1; } - if (__e_acsl_var_16) { - int __e_acsl_var_17; - if (! (y == 1)) { __e_acsl_var_17 = 1; } - else { __e_acsl_var_17 = x == 0; } - __e_acsl_var_18 = __e_acsl_var_17; + { int __e_acsl_16; + int __e_acsl_18; + if (! (x == 0)) { __e_acsl_16 = 1; } + else { __e_acsl_16 = y == 1; } + if (__e_acsl_16) { + int __e_acsl_17; + if (! (y == 1)) { __e_acsl_17 = 1; } + else { __e_acsl_17 = x == 0; } + __e_acsl_18 = __e_acsl_17; } - else { __e_acsl_var_18 = 0; } - e_acsl_assert(__e_acsl_var_18,(char *)"Assertion", + else { __e_acsl_18 = 0; } + e_acsl_assert(__e_acsl_18,(char *)"Assertion", (char *)"(x == 0 <==> y == 1)",23); } /*@ assert ((x≢0? x: y)≢0) ≡ (x≡0); */ ; - { int __e_acsl_var_19; - if (x != 0) { __e_acsl_var_19 = x; } - else { __e_acsl_var_19 = y; } - e_acsl_assert((__e_acsl_var_19 != 0) == (x == 0),(char *)"Assertion", + { int __e_acsl_19; + if (x != 0) { __e_acsl_19 = x; } + else { __e_acsl_19 = y; } + e_acsl_assert((__e_acsl_19 != 0) == (x == 0),(char *)"Assertion", (char *)"(((x!=0? x: y)!=0) == (x==0))",26); } /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */ ; - { - int __e_acsl_var_20; - int __e_acsl_var_21; - if (x != 0) { __e_acsl_var_20 = y != 0; } - else { __e_acsl_var_20 = 0; } - if (__e_acsl_var_20) { __e_acsl_var_21 = 1; } - else { __e_acsl_var_21 = y != 0; } - e_acsl_assert(__e_acsl_var_21,(char *)"Assertion", + { int __e_acsl_20; + int __e_acsl_21; + if (x != 0) { __e_acsl_20 = y != 0; } + else { __e_acsl_20 = 0; } + if (__e_acsl_20) { __e_acsl_21 = 1; } + else { __e_acsl_21 = y != 0; } + e_acsl_assert(__e_acsl_21,(char *)"Assertion", (char *)"((x != 0 && y != 0) || y != 0)",27); } /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */ ; - { - int __e_acsl_var_22; - int __e_acsl_var_23; - if (x != 0) { __e_acsl_var_22 = 1; } - else { __e_acsl_var_22 = y != 0; } - if (__e_acsl_var_22) { __e_acsl_var_23 = y == 1; } - else { __e_acsl_var_23 = 0; } - e_acsl_assert(__e_acsl_var_23,(char *)"Assertion", + { int __e_acsl_22; + int __e_acsl_23; + if (x != 0) { __e_acsl_22 = 1; } + else { __e_acsl_22 = y != 0; } + if (__e_acsl_22) { __e_acsl_23 = y == 1; } + else { __e_acsl_23 = 0; } + e_acsl_assert(__e_acsl_23,(char *)"Assertion", (char *)"((x != 0 || y != 0) && y == 1)",28); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c index e51203f847deb102e20094a2478c7d5e9a2c6fb1..37f0954ed4310a30245fe98efcb0a20ee3bce293 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c @@ -9,6 +9,11 @@ typedef __mpz_struct mpz_t[1]; /*@ ensures \valid(\old(x)); assigns *x; */ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); +/*@ requires \valid(z_orig); + ensures \valid(\old(z)); + assigns *z; */ +extern void __gmpz_init_set(__mpz_struct * /*[1]*/ z, + __mpz_struct const * /*[1]*/ z_orig); /*@ ensures \valid(\old(z)); assigns *z; assigns *z \from n; */ @@ -55,542 +60,589 @@ int main(void) y = 1; /*@ assert x ≡ 0 ∧ y ≡ 1; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - if (__e_acsl_var_3 == 0) { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)1); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - __e_acsl_var_7 = __e_acsl_var_6 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + if (__e_acsl_3 == 0) { + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)1); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __e_acsl_6 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } - else { __e_acsl_var_7 = 0; } - e_acsl_assert(__e_acsl_var_7,(char *)"Assertion", + else { __e_acsl_7 = 0; } + e_acsl_assert(__e_acsl_7,(char *)"Assertion", (char *)"(x == 0 && y == 1)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */ ; { - mpz_t __e_acsl_var_8; - mpz_t __e_acsl_var_9; - int __e_acsl_var_10; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8), - (__mpz_struct const *)(__e_acsl_var_9)); - if (__e_acsl_var_10 != 0) { - mpz_t __e_acsl_var_11; - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - int __e_acsl_var_14; - mpz_t __e_acsl_var_15; - int __e_acsl_var_16; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)0); - __e_acsl_var_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_15)); + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + int __e_acsl_10; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)0); + __e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + if (__e_acsl_10 != 0) { + mpz_t __e_acsl_11; + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + int __e_acsl_14; + mpz_t __e_acsl_15; + int __e_acsl_16; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)0); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_init((__mpz_struct *)(__e_acsl_15)); /*@ assert 0 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_14 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_14 == 0),(char *)"Assertion", (char *)"(0 == 0)",12); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __e_acsl_var_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_11), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __e_acsl_var_16 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __e_acsl_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_15)); + __e_acsl_17 = __e_acsl_16 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); } - else { __e_acsl_var_17 = 0; } - e_acsl_assert(! __e_acsl_var_17,(char *)"Assertion", + else { __e_acsl_17 = 0; } + e_acsl_assert(! __e_acsl_17,(char *)"Assertion", (char *)"(!(x != 0 && y == 1/0))",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } /*@ assert y ≡ 1 ∨ x ≡ 1; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - int __e_acsl_var_20; - int __e_acsl_var_24; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - if (__e_acsl_var_20 == 0) { __e_acsl_var_24 = 1; } + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + int __e_acsl_20; + int __e_acsl_24; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)1); + __e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + if (__e_acsl_20 == 0) { __e_acsl_24 = 1; } else { - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)1); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21), - (__mpz_struct const *)(__e_acsl_var_22)); - __e_acsl_var_24 = __e_acsl_var_23 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + int __e_acsl_23; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)1); + __e_acsl_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_22)); + __e_acsl_24 = __e_acsl_23 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); } - e_acsl_assert(__e_acsl_var_24,(char *)"Assertion", + e_acsl_assert(__e_acsl_24,(char *)"Assertion", (char *)"(y == 1 || x == 1)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); } /*@ assert x ≡ 0 ∨ y ≡ 1/0; */ ; { - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - int __e_acsl_var_27; - int __e_acsl_var_34; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)0); - __e_acsl_var_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_26)); - if (__e_acsl_var_27 == 0) { __e_acsl_var_34 = 1; } + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + int __e_acsl_27; + int __e_acsl_34; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)0); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_26)); + if (__e_acsl_27 == 0) { __e_acsl_34 = 1; } else { - mpz_t __e_acsl_var_28; - mpz_t __e_acsl_var_29; - mpz_t __e_acsl_var_30; - int __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_29),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)0); - __e_acsl_var_31 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_30)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_32)); + mpz_t __e_acsl_28; + mpz_t __e_acsl_29; + mpz_t __e_acsl_30; + int __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_29),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)0); + __e_acsl_31 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_30)); + __gmpz_init((__mpz_struct *)(__e_acsl_32)); /*@ assert 0 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_31 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_31 == 0),(char *)"Assertion", (char *)"(0 == 0)",14); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_32), - (__mpz_struct const *)(__e_acsl_var_29), - (__mpz_struct const *)(__e_acsl_var_30)); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_32)); - __e_acsl_var_34 = __e_acsl_var_33 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_29)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_32), + (__mpz_struct const *)(__e_acsl_29), + (__mpz_struct const *)(__e_acsl_30)); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_28), + (__mpz_struct const *)(__e_acsl_32)); + __e_acsl_34 = __e_acsl_33 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_29)); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } - e_acsl_assert(__e_acsl_var_34,(char *)"Assertion", + e_acsl_assert(__e_acsl_34,(char *)"Assertion", (char *)"(x == 0 || y == 1/0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); } /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ; { - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - int __e_acsl_var_41; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_36),(long)0); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_35), - (__mpz_struct const *)(__e_acsl_var_36)); - if (! (__e_acsl_var_37 == 0)) { __e_acsl_var_41 = 1; } + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + int __e_acsl_37; + int __e_acsl_41; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_36),(long)0); + __e_acsl_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_35), + (__mpz_struct const *)(__e_acsl_36)); + if (! (__e_acsl_37 == 0)) { __e_acsl_41 = 1; } else { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_38),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)1); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __e_acsl_var_41 = __e_acsl_var_40 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); + mpz_t __e_acsl_38; + mpz_t __e_acsl_39; + int __e_acsl_40; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_38),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_39),(long)1); + __e_acsl_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_39)); + __e_acsl_41 = __e_acsl_40 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); } - e_acsl_assert(__e_acsl_var_41,(char *)"Assertion", + e_acsl_assert(__e_acsl_41,(char *)"Assertion", (char *)"(x == 0 ==> y == 1)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); } /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */ ; { - mpz_t __e_acsl_var_42; - mpz_t __e_acsl_var_43; - int __e_acsl_var_44; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_43),(long)1); - __e_acsl_var_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_42), - (__mpz_struct const *)(__e_acsl_var_43)); - if (! (__e_acsl_var_44 == 0)) { __e_acsl_var_51 = 1; } + mpz_t __e_acsl_42; + mpz_t __e_acsl_43; + int __e_acsl_44; + int __e_acsl_51; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_42),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)1); + __e_acsl_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_42), + (__mpz_struct const *)(__e_acsl_43)); + if (! (__e_acsl_44 == 0)) { __e_acsl_51 = 1; } else { - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - mpz_t __e_acsl_var_47; - int __e_acsl_var_48; - mpz_t __e_acsl_var_49; - int __e_acsl_var_50; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_47),(long)0); - __e_acsl_var_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_47)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_49)); + mpz_t __e_acsl_45; + mpz_t __e_acsl_46; + mpz_t __e_acsl_47; + int __e_acsl_48; + mpz_t __e_acsl_49; + int __e_acsl_50; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_45),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_46),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_47),(long)0); + __e_acsl_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_47)); + __gmpz_init((__mpz_struct *)(__e_acsl_49)); /*@ assert 0 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_48 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_48 == 0),(char *)"Assertion", (char *)"(0 == 0)",16); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_49), - (__mpz_struct const *)(__e_acsl_var_46), - (__mpz_struct const *)(__e_acsl_var_47)); - __e_acsl_var_50 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __e_acsl_var_50 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_47)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_49), + (__mpz_struct const *)(__e_acsl_46), + (__mpz_struct const *)(__e_acsl_47)); + __e_acsl_50 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_45), + (__mpz_struct const *)(__e_acsl_49)); + __e_acsl_51 = __e_acsl_50 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_45)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_49)); } - e_acsl_assert(__e_acsl_var_51,(char *)"Assertion", + e_acsl_assert(__e_acsl_51,(char *)"Assertion", (char *)"(x == 1 ==> y == 1/0)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_42)); + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); } /*@ assert x≢0? x ≢ 0: y ≢ 0; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - int __e_acsl_var_54; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_53),(long)0); - __e_acsl_var_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_52), - (__mpz_struct const *)(__e_acsl_var_53)); - if (__e_acsl_var_54 != 0) { - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_55),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __e_acsl_var_61 = __e_acsl_var_57 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); + mpz_t __e_acsl_52; + mpz_t __e_acsl_53; + int __e_acsl_54; + int __e_acsl_61; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_53),(long)0); + __e_acsl_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_52), + (__mpz_struct const *)(__e_acsl_53)); + if (__e_acsl_54 != 0) { + mpz_t __e_acsl_55; + mpz_t __e_acsl_56; + int __e_acsl_57; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_55),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_56),(long)0); + __e_acsl_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_55), + (__mpz_struct const *)(__e_acsl_56)); + __e_acsl_61 = __e_acsl_57 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_55)); + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); } else { - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - int __e_acsl_var_60; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_58),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)0); - __e_acsl_var_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __e_acsl_var_60 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); + mpz_t __e_acsl_58; + mpz_t __e_acsl_59; + int __e_acsl_60; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_58),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_59),(long)0); + __e_acsl_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_59)); + __e_acsl_61 = __e_acsl_60 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_59)); } - e_acsl_assert(__e_acsl_var_61,(char *)"Assertion", + e_acsl_assert(__e_acsl_61,(char *)"Assertion", (char *)"(x!=0? x != 0: y != 0)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); } /*@ assert y≢0? y ≢ 0: x ≢ 0; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - int __e_acsl_var_64; - int __e_acsl_var_71; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)0); - __e_acsl_var_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_63)); - if (__e_acsl_var_64 != 0) { - mpz_t __e_acsl_var_65; - mpz_t __e_acsl_var_66; - int __e_acsl_var_67; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_66),(long)0); - __e_acsl_var_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_65), - (__mpz_struct const *)(__e_acsl_var_66)); - __e_acsl_var_71 = __e_acsl_var_67 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_66)); + mpz_t __e_acsl_62; + mpz_t __e_acsl_63; + int __e_acsl_64; + int __e_acsl_71; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_62),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)0); + __e_acsl_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_62), + (__mpz_struct const *)(__e_acsl_63)); + if (__e_acsl_64 != 0) { + mpz_t __e_acsl_65; + mpz_t __e_acsl_66; + int __e_acsl_67; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_65),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_66),(long)0); + __e_acsl_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_65), + (__mpz_struct const *)(__e_acsl_66)); + __e_acsl_71 = __e_acsl_67 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_65)); + __gmpz_clear((__mpz_struct *)(__e_acsl_66)); } else { - mpz_t __e_acsl_var_68; - mpz_t __e_acsl_var_69; - int __e_acsl_var_70; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_69),(long)0); - __e_acsl_var_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_68), - (__mpz_struct const *)(__e_acsl_var_69)); - __e_acsl_var_71 = __e_acsl_var_70 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_69)); + mpz_t __e_acsl_68; + mpz_t __e_acsl_69; + int __e_acsl_70; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_68),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_69),(long)0); + __e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_68), + (__mpz_struct const *)(__e_acsl_69)); + __e_acsl_71 = __e_acsl_70 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_68)); + __gmpz_clear((__mpz_struct *)(__e_acsl_69)); } - e_acsl_assert(__e_acsl_var_71,(char *)"Assertion", + e_acsl_assert(__e_acsl_71,(char *)"Assertion", (char *)"(y!=0? y != 0: x != 0)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); + __gmpz_clear((__mpz_struct *)(__e_acsl_62)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); } /*@ assert x≡1? x ≡ 18: x ≡ 0; */ ; { - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - int __e_acsl_var_74; - int __e_acsl_var_81; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_72),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)1); - __e_acsl_var_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_73)); - if (__e_acsl_var_74 == 0) { - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - int __e_acsl_var_77; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_75),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_76),(long)18); - __e_acsl_var_77 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_76)); - __e_acsl_var_81 = __e_acsl_var_77 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); + mpz_t __e_acsl_72; + mpz_t __e_acsl_73; + int __e_acsl_74; + int __e_acsl_81; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_72),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_73),(long)1); + __e_acsl_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_73)); + if (__e_acsl_74 == 0) { + mpz_t __e_acsl_75; + mpz_t __e_acsl_76; + int __e_acsl_77; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_75),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_76),(long)18); + __e_acsl_77 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_75), + (__mpz_struct const *)(__e_acsl_76)); + __e_acsl_81 = __e_acsl_77 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_75)); + __gmpz_clear((__mpz_struct *)(__e_acsl_76)); } else { - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - int __e_acsl_var_80; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_78),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_79),(long)0); - __e_acsl_var_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __e_acsl_var_81 = __e_acsl_var_80 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); + mpz_t __e_acsl_78; + mpz_t __e_acsl_79; + int __e_acsl_80; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_78),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_79),(long)0); + __e_acsl_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_78), + (__mpz_struct const *)(__e_acsl_79)); + __e_acsl_81 = __e_acsl_80 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_78)); + __gmpz_clear((__mpz_struct *)(__e_acsl_79)); } - e_acsl_assert(__e_acsl_var_81,(char *)"Assertion", + e_acsl_assert(__e_acsl_81,(char *)"Assertion", (char *)"(x==1? x == 18: x == 0)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_73)); } /*@ assert x ≡ 2 ⇔ y ≡ 3; */ ; { - mpz_t __e_acsl_var_82; - mpz_t __e_acsl_var_83; - int __e_acsl_var_84; - int __e_acsl_var_88; - int __e_acsl_var_96; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_82),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_83),(long)2); - __e_acsl_var_84 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_83)); - if (! (__e_acsl_var_84 == 0)) { __e_acsl_var_88 = 1; } + mpz_t __e_acsl_82; + mpz_t __e_acsl_83; + int __e_acsl_84; + int __e_acsl_88; + int __e_acsl_96; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_82),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_83),(long)2); + __e_acsl_84 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_82), + (__mpz_struct const *)(__e_acsl_83)); + if (! (__e_acsl_84 == 0)) { __e_acsl_88 = 1; } else { - mpz_t __e_acsl_var_85; - mpz_t __e_acsl_var_86; - int __e_acsl_var_87; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_85),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_86),(long)3); - __e_acsl_var_87 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_85), - (__mpz_struct const *)(__e_acsl_var_86)); - __e_acsl_var_88 = __e_acsl_var_87 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_85)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_86)); + mpz_t __e_acsl_85; + mpz_t __e_acsl_86; + int __e_acsl_87; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_85),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_86),(long)3); + __e_acsl_87 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_85), + (__mpz_struct const *)(__e_acsl_86)); + __e_acsl_88 = __e_acsl_87 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_85)); + __gmpz_clear((__mpz_struct *)(__e_acsl_86)); } - if (__e_acsl_var_88) { - mpz_t __e_acsl_var_89; - mpz_t __e_acsl_var_90; - int __e_acsl_var_91; - int __e_acsl_var_95; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_89),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_90),(long)3); - __e_acsl_var_91 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_89), - (__mpz_struct const *)(__e_acsl_var_90)); - if (! (__e_acsl_var_91 == 0)) { __e_acsl_var_95 = 1; } + if (__e_acsl_88) { + mpz_t __e_acsl_89; + mpz_t __e_acsl_90; + int __e_acsl_91; + int __e_acsl_95; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_89),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_90),(long)3); + __e_acsl_91 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_89), + (__mpz_struct const *)(__e_acsl_90)); + if (! (__e_acsl_91 == 0)) { __e_acsl_95 = 1; } else { - mpz_t __e_acsl_var_92; - mpz_t __e_acsl_var_93; - int __e_acsl_var_94; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_92),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_93),(long)2); - __e_acsl_var_94 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_92), - (__mpz_struct const *)(__e_acsl_var_93)); - __e_acsl_var_95 = __e_acsl_var_94 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_92)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_93)); + mpz_t __e_acsl_92; + mpz_t __e_acsl_93; + int __e_acsl_94; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_92),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_93),(long)2); + __e_acsl_94 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_92), + (__mpz_struct const *)(__e_acsl_93)); + __e_acsl_95 = __e_acsl_94 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_92)); + __gmpz_clear((__mpz_struct *)(__e_acsl_93)); } - __e_acsl_var_96 = __e_acsl_var_95; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_89)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_90)); + __e_acsl_96 = __e_acsl_95; + __gmpz_clear((__mpz_struct *)(__e_acsl_89)); + __gmpz_clear((__mpz_struct *)(__e_acsl_90)); } - else { __e_acsl_var_96 = 0; } - e_acsl_assert(__e_acsl_var_96,(char *)"Assertion", + else { __e_acsl_96 = 0; } + e_acsl_assert(__e_acsl_96,(char *)"Assertion", (char *)"(x == 2 <==> y == 3)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_83)); + __gmpz_clear((__mpz_struct *)(__e_acsl_82)); + __gmpz_clear((__mpz_struct *)(__e_acsl_83)); } /*@ assert x ≡ 0 ⇔ y ≡ 1; */ ; { - mpz_t __e_acsl_var_97; - mpz_t __e_acsl_var_98; - int __e_acsl_var_99; - int __e_acsl_var_103; - int __e_acsl_var_111; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_97),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_98),(long)0); - __e_acsl_var_99 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_97), - (__mpz_struct const *)(__e_acsl_var_98)); - if (! (__e_acsl_var_99 == 0)) { __e_acsl_var_103 = 1; } + mpz_t __e_acsl_97; + mpz_t __e_acsl_98; + int __e_acsl_99; + int __e_acsl_103; + int __e_acsl_111; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_97),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_98),(long)0); + __e_acsl_99 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_97), + (__mpz_struct const *)(__e_acsl_98)); + if (! (__e_acsl_99 == 0)) { __e_acsl_103 = 1; } else { - mpz_t __e_acsl_var_100; - mpz_t __e_acsl_var_101; - int __e_acsl_var_102; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_100),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_101),(long)1); - __e_acsl_var_102 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_100), - (__mpz_struct const *)(__e_acsl_var_101)); - __e_acsl_var_103 = __e_acsl_var_102 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_100)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_101)); + mpz_t __e_acsl_100; + mpz_t __e_acsl_101; + int __e_acsl_102; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_100),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_101),(long)1); + __e_acsl_102 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_100), + (__mpz_struct const *)(__e_acsl_101)); + __e_acsl_103 = __e_acsl_102 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_100)); + __gmpz_clear((__mpz_struct *)(__e_acsl_101)); } - if (__e_acsl_var_103) { - mpz_t __e_acsl_var_104; - mpz_t __e_acsl_var_105; - int __e_acsl_var_106; - int __e_acsl_var_110; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_104),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_105),(long)1); - __e_acsl_var_106 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_104), - (__mpz_struct const *)(__e_acsl_var_105)); - if (! (__e_acsl_var_106 == 0)) { __e_acsl_var_110 = 1; } + if (__e_acsl_103) { + mpz_t __e_acsl_104; + mpz_t __e_acsl_105; + int __e_acsl_106; + int __e_acsl_110; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_104),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_105),(long)1); + __e_acsl_106 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_104), + (__mpz_struct const *)(__e_acsl_105)); + if (! (__e_acsl_106 == 0)) { __e_acsl_110 = 1; } else { - mpz_t __e_acsl_var_107; - mpz_t __e_acsl_var_108; - int __e_acsl_var_109; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_107),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_108),(long)0); - __e_acsl_var_109 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_107), - (__mpz_struct const *)(__e_acsl_var_108)); - __e_acsl_var_110 = __e_acsl_var_109 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_107)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_108)); + mpz_t __e_acsl_107; + mpz_t __e_acsl_108; + int __e_acsl_109; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_107),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_108),(long)0); + __e_acsl_109 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_107), + (__mpz_struct const *)(__e_acsl_108)); + __e_acsl_110 = __e_acsl_109 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_107)); + __gmpz_clear((__mpz_struct *)(__e_acsl_108)); } - __e_acsl_var_111 = __e_acsl_var_110; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_104)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_105)); + __e_acsl_111 = __e_acsl_110; + __gmpz_clear((__mpz_struct *)(__e_acsl_104)); + __gmpz_clear((__mpz_struct *)(__e_acsl_105)); } - else { __e_acsl_var_111 = 0; } - e_acsl_assert(__e_acsl_var_111,(char *)"Assertion", + else { __e_acsl_111 = 0; } + e_acsl_assert(__e_acsl_111,(char *)"Assertion", (char *)"(x == 0 <==> y == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_97)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_98)); + __gmpz_clear((__mpz_struct *)(__e_acsl_97)); + __gmpz_clear((__mpz_struct *)(__e_acsl_98)); } /*@ assert ((x≢0? x: y)≢0) ≡ (x≡0); */ ; + { + mpz_t __e_acsl_112; + mpz_t __e_acsl_113; + int __e_acsl_114; + mpz_t __e_acsl_117; + int __e_acsl_118; + mpz_t __e_acsl_119; + int __e_acsl_120; + mpz_t __e_acsl_121; + int __e_acsl_122; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_112),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_113),(long)0); + __e_acsl_114 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_112), + (__mpz_struct const *)(__e_acsl_113)); + if (__e_acsl_114 != 0) { + mpz_t __e_acsl_115; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_115),(long)x); + __gmpz_init_set((__mpz_struct *)(__e_acsl_117), + (__mpz_struct const *)(__e_acsl_115)); + __gmpz_clear((__mpz_struct *)(__e_acsl_115)); + } + else { + mpz_t __e_acsl_116; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_116),(long)y); + __gmpz_init_set((__mpz_struct *)(__e_acsl_117), + (__mpz_struct const *)(__e_acsl_116)); + __gmpz_clear((__mpz_struct *)(__e_acsl_116)); + } + __e_acsl_118 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_117), + (__mpz_struct const *)(__e_acsl_113)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_119), + (long)(__e_acsl_118 != 0)); + __e_acsl_120 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_112), + (__mpz_struct const *)(__e_acsl_113)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_121), + (long)(__e_acsl_120 == 0)); + __e_acsl_122 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_119), + (__mpz_struct const *)(__e_acsl_121)); + e_acsl_assert(__e_acsl_122 == 0,(char *)"Assertion", + (char *)"(((x!=0? x: y)!=0) == (x==0))",26); + __gmpz_clear((__mpz_struct *)(__e_acsl_112)); + __gmpz_clear((__mpz_struct *)(__e_acsl_113)); + __gmpz_clear((__mpz_struct *)(__e_acsl_117)); + __gmpz_clear((__mpz_struct *)(__e_acsl_119)); + __gmpz_clear((__mpz_struct *)(__e_acsl_121)); + } + /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */ ; { - mpz_t __e_acsl_var_112; - mpz_t __e_acsl_var_113; - int __e_acsl_var_114; - int __e_acsl_var_118; - int __e_acsl_var_122; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_112),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_113),(long)0); - __e_acsl_var_114 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_112), - (__mpz_struct const *)(__e_acsl_var_113)); - if (__e_acsl_var_114 != 0) { - mpz_t __e_acsl_var_115; - mpz_t __e_acsl_var_116; - int __e_acsl_var_117; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_115),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_116),(long)0); - __e_acsl_var_117 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_115), - (__mpz_struct const *)(__e_acsl_var_116)); - __e_acsl_var_118 = __e_acsl_var_117 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_115)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_116)); + mpz_t __e_acsl_123; + mpz_t __e_acsl_124; + int __e_acsl_125; + int __e_acsl_129; + int __e_acsl_133; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_123),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_124),(long)0); + __e_acsl_125 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_123), + (__mpz_struct const *)(__e_acsl_124)); + if (__e_acsl_125 != 0) { + mpz_t __e_acsl_126; + mpz_t __e_acsl_127; + int __e_acsl_128; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_126),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_127),(long)0); + __e_acsl_128 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_126), + (__mpz_struct const *)(__e_acsl_127)); + __e_acsl_129 = __e_acsl_128 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_126)); + __gmpz_clear((__mpz_struct *)(__e_acsl_127)); } - else { __e_acsl_var_118 = 0; } - if (__e_acsl_var_118) { __e_acsl_var_122 = 1; } + else { __e_acsl_129 = 0; } + if (__e_acsl_129) { __e_acsl_133 = 1; } else { - mpz_t __e_acsl_var_119; - mpz_t __e_acsl_var_120; - int __e_acsl_var_121; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_119),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_120),(long)0); - __e_acsl_var_121 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_119), - (__mpz_struct const *)(__e_acsl_var_120)); - __e_acsl_var_122 = __e_acsl_var_121 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_119)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_120)); + mpz_t __e_acsl_130; + mpz_t __e_acsl_131; + int __e_acsl_132; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_130),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_131),(long)0); + __e_acsl_132 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_130), + (__mpz_struct const *)(__e_acsl_131)); + __e_acsl_133 = __e_acsl_132 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_130)); + __gmpz_clear((__mpz_struct *)(__e_acsl_131)); } - e_acsl_assert(__e_acsl_var_122,(char *)"Assertion", + e_acsl_assert(__e_acsl_133,(char *)"Assertion", (char *)"((x != 0 && y != 0) || y != 0)",27); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_112)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_113)); + __gmpz_clear((__mpz_struct *)(__e_acsl_123)); + __gmpz_clear((__mpz_struct *)(__e_acsl_124)); } /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */ ; { - mpz_t __e_acsl_var_123; - mpz_t __e_acsl_var_124; - int __e_acsl_var_125; - int __e_acsl_var_129; - int __e_acsl_var_133; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_123),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_124),(long)0); - __e_acsl_var_125 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_123), - (__mpz_struct const *)(__e_acsl_var_124)); - if (__e_acsl_var_125 != 0) { __e_acsl_var_129 = 1; } + mpz_t __e_acsl_134; + mpz_t __e_acsl_135; + int __e_acsl_136; + int __e_acsl_140; + int __e_acsl_144; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_134),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_135),(long)0); + __e_acsl_136 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_134), + (__mpz_struct const *)(__e_acsl_135)); + if (__e_acsl_136 != 0) { __e_acsl_140 = 1; } else { - mpz_t __e_acsl_var_126; - mpz_t __e_acsl_var_127; - int __e_acsl_var_128; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_126),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_127),(long)0); - __e_acsl_var_128 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_126), - (__mpz_struct const *)(__e_acsl_var_127)); - __e_acsl_var_129 = __e_acsl_var_128 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_126)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_127)); + mpz_t __e_acsl_137; + mpz_t __e_acsl_138; + int __e_acsl_139; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_137),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_138),(long)0); + __e_acsl_139 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_137), + (__mpz_struct const *)(__e_acsl_138)); + __e_acsl_140 = __e_acsl_139 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_137)); + __gmpz_clear((__mpz_struct *)(__e_acsl_138)); } - if (__e_acsl_var_129) { - mpz_t __e_acsl_var_130; - mpz_t __e_acsl_var_131; - int __e_acsl_var_132; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_130),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_131),(long)1); - __e_acsl_var_132 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_130), - (__mpz_struct const *)(__e_acsl_var_131)); - __e_acsl_var_133 = __e_acsl_var_132 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_130)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_131)); + if (__e_acsl_140) { + mpz_t __e_acsl_141; + mpz_t __e_acsl_142; + int __e_acsl_143; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_141),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_142),(long)1); + __e_acsl_143 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_141), + (__mpz_struct const *)(__e_acsl_142)); + __e_acsl_144 = __e_acsl_143 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_141)); + __gmpz_clear((__mpz_struct *)(__e_acsl_142)); } - else { __e_acsl_var_133 = 0; } - e_acsl_assert(__e_acsl_var_133,(char *)"Assertion", + else { __e_acsl_144 = 0; } + e_acsl_assert(__e_acsl_144,(char *)"Assertion", (char *)"((x != 0 || y != 0) && y == 1)",28); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_123)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_124)); + __gmpz_clear((__mpz_struct *)(__e_acsl_134)); + __gmpz_clear((__mpz_struct *)(__e_acsl_135)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c index 41e913947d6be0a204cb4bdaa32db6b06f49d130..9e8ec29eb6086dc04797f88fd497acf793b3fc7d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search.c @@ -32,57 +32,57 @@ int search(int elt) { int __retres; int k; - int __e_acsl_var_3; - int __e_acsl_var_6; + int __e_acsl_3; + int __e_acsl_6; { - int __e_acsl_var; + int __e_acsl; int __e_acsl_i; - __e_acsl_var = 1; + __e_acsl = 1; __e_acsl_i = 0; while (1) { if (! (__e_acsl_i < 9)) { break; } if (! (A[__e_acsl_i] <= A[__e_acsl_i + 1])) { - __e_acsl_var = 0; + __e_acsl = 0; goto e_acsl_end_loop1; } __e_acsl_i ++; } e_acsl_end_loop1: ; - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(\\forall int i; 0 <= i && i < 9 ==> A[i] <= A[i+1])", 9); { - int __e_acsl_var_5; + int __e_acsl_5; int __e_acsl_j_2; - __e_acsl_var_5 = 1; + __e_acsl_5 = 1; __e_acsl_j_2 = 0; while (1) { if (! (__e_acsl_j_2 < 10)) { break; } if (! (A[__e_acsl_j_2] != elt)) { - __e_acsl_var_5 = 0; + __e_acsl_5 = 0; goto e_acsl_end_loop3; } __e_acsl_j_2 ++; } e_acsl_end_loop3: ; - __e_acsl_var_6 = __e_acsl_var_5; + __e_acsl_6 = __e_acsl_5; } { - int __e_acsl_var_2; + int __e_acsl_2; int __e_acsl_j; - __e_acsl_var_2 = 0; + __e_acsl_2 = 0; __e_acsl_j = 0; while (1) { if (! (__e_acsl_j < 10)) { break; } if (! (! (A[__e_acsl_j] == elt))) { - __e_acsl_var_2 = 1; + __e_acsl_2 = 1; goto e_acsl_end_loop2; } __e_acsl_j ++; } e_acsl_end_loop2: ; - __e_acsl_var_3 = __e_acsl_var_2; + __e_acsl_3 = __e_acsl_2; } k = 0; @@ -101,17 +101,16 @@ int search(int elt) } __retres = 0; return_label: - { - int __e_acsl_var_4; - int __e_acsl_var_7; - if (! __e_acsl_var_3) { __e_acsl_var_4 = 1; } - else { __e_acsl_var_4 = __retres == 1; } - e_acsl_assert(__e_acsl_var_4,(char *)"Postcondition", + { int __e_acsl_4; + int __e_acsl_7; + if (! __e_acsl_3) { __e_acsl_4 = 1; } + else { __e_acsl_4 = __retres == 1; } + e_acsl_assert(__e_acsl_4,(char *)"Postcondition", (char *)"(\\old(\\exists int j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)", 12); - if (! __e_acsl_var_6) { __e_acsl_var_7 = 1; } - else { __e_acsl_var_7 = __retres == 0; } - e_acsl_assert(__e_acsl_var_7,(char *)"Postcondition", + if (! __e_acsl_6) { __e_acsl_7 = 1; } + else { __e_acsl_7 = __retres == 0; } + e_acsl_assert(__e_acsl_7,(char *)"Postcondition", (char *)"(\\old(\\forall int j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)", 15); return (__retres); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..f1ec1f4fd585164826201393b687ed06ff63c0e8 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c @@ -13,10 +13,11 @@ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); assigns *z; assigns *z \from n; */ extern void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ ensures \valid(\old(z)); +/*@ requires \valid(z_orig); + requires \valid(z); assigns *z; */ -extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str, - int base); +extern void __gmpz_set(__mpz_struct * /*[1]*/ z, + __mpz_struct const * /*[1]*/ z_orig); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -25,11 +26,6 @@ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); assigns \nothing; */ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); requires \valid(z2); requires \valid(z3); @@ -38,43 +34,9 @@ extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_mul(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern int __gmpz_com(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); +/*@ requires \valid(z); + assigns \nothing; */ +extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); /*@ terminates \false; ensures \false; assigns \nothing; */ @@ -92,423 +54,320 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) return; } -int main(void) +int A[10]; +/*@ requires ∀ ℤ i; 0 ≤ i ∧ i < 9 ⇒ A[i] ≤ A[i+1]; + behavior exists: + assumes ∃ ℤ j; (0 ≤ j ∧ j < 10) ∧ A[j] ≡ elt; + ensures \result ≡ 1; + + behavior not_exists: + assumes ∀ ℤ j; 0 ≤ j ∧ j < 10 ⇒ A[j] ≢ elt; + ensures \result ≡ 0; + + +*/ +int search(int elt) { int __retres; - int x; - int y; - x = -3; - y = 2; - /*@ assert -3 ≡ x; */ ; - { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - } - - /*@ assert x ≡ -3; */ ; - { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - } - - /*@ assert 0 ≢ ~0; */ ; - { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - } - - /*@ assert x+1 ≡ -2; */ ; + int k; + int __e_acsl_24; + int __e_acsl_39; { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + int __e_acsl; + mpz_t __e_acsl_i; + __e_acsl = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_i)); + { + mpz_t __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_i), + (__mpz_struct const *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + } + + while (1) { + { + mpz_t __e_acsl_10; + int __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)9); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i), + (__mpz_struct const *)(__e_acsl_10)); + if (! (__e_acsl_11 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + } + + { + unsigned long __e_acsl_2; + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + unsigned long __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)A[__e_acsl_2]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_5)); + __gmpz_add((__mpz_struct *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_i), + (__mpz_struct const *)(__e_acsl_4)); + __e_acsl_6 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_5)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)A[__e_acsl_6]); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + if (! (__e_acsl_8 <= 0)) { + __e_acsl = 0; + goto e_acsl_end_loop1; } + } + + { + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_13)); + __gmpz_add((__mpz_struct *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_i), + (__mpz_struct const *)(__e_acsl_12)); + __gmpz_set((__mpz_struct *)(__e_acsl_i), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + } + + } + e_acsl_end_loop1: ; + e_acsl_assert(__e_acsl,(char *)"Precondition", + (char *)"(\\forall integer i; 0 <= i && i < 9 ==> A[i] <= A[i+1])", + 9); + __gmpz_clear((__mpz_struct *)(__e_acsl_i)); + { + int __e_acsl_29; + mpz_t __e_acsl_j_2; + __e_acsl_29 = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_j_2)); + { + mpz_t __e_acsl_34; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_j_2), + (__mpz_struct const *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + } + + while (1) { + { + mpz_t __e_acsl_35; + int __e_acsl_36; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)10); + __e_acsl_36 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_2), + (__mpz_struct const *)(__e_acsl_35)); + if (! (__e_acsl_36 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + } + + { + unsigned long __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __e_acsl_30 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j_2)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31), + (long)A[__e_acsl_30]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)elt); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); + if (! (__e_acsl_33 != 0)) { + __e_acsl_29 = 0; + goto e_acsl_end_loop3; } + } + + { + mpz_t __e_acsl_37; + mpz_t __e_acsl_38; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_37),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_38)); + __gmpz_add((__mpz_struct *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_j_2), + (__mpz_struct const *)(__e_acsl_37)); + __gmpz_set((__mpz_struct *)(__e_acsl_j_2), + (__mpz_struct const *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + } + + } + e_acsl_end_loop3: ; + __e_acsl_39 = __e_acsl_29; + __gmpz_clear((__mpz_struct *)(__e_acsl_j_2)); + } + + { + int __e_acsl_14; + mpz_t __e_acsl_j; + __e_acsl_14 = 0; + __gmpz_init((__mpz_struct *)(__e_acsl_j)); + { + mpz_t __e_acsl_19; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_j), + (__mpz_struct const *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + } + + while (1) { + { + mpz_t __e_acsl_20; + int __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)10); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j), + (__mpz_struct const *)(__e_acsl_20)); + if (! (__e_acsl_21 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + } + + { + unsigned long __e_acsl_15; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; + __e_acsl_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16), + (long)A[__e_acsl_15]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)elt); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); + if (! (! (__e_acsl_18 == 0))) { + __e_acsl_14 = 1; + goto e_acsl_end_loop2; + } + } + + { + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_23)); + __gmpz_add((__mpz_struct *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_j), + (__mpz_struct const *)(__e_acsl_22)); + __gmpz_set((__mpz_struct *)(__e_acsl_j), + (__mpz_struct const *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + } + + } + e_acsl_end_loop2: ; + __e_acsl_24 = __e_acsl_14; + __gmpz_clear((__mpz_struct *)(__e_acsl_j)); + } + + k = 0; } - /*@ assert x-1 ≡ -4; */ ; - { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - } - - /*@ assert x*3 ≡ -9; */ ; - { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + while (1) { + if (! (k < 10)) { break; } + if (A[k] == elt) { + __retres = 1; + goto return_label; } + else { + if (A[k] > elt) { + __retres = 0; + goto return_label; } } + k ++; } - - /*@ assert x/3 ≡ -1; */ ; - { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); - /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", - (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); - } - - /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; - { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", - (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", - (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - } - - /*@ assert x%2 ≡ -1; */ ; + __retres = 0; + return_label: { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); - /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", - (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + int __e_acsl_28; + int __e_acsl_43; + if (! __e_acsl_24) { __e_acsl_28 = 1; } + else { + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)__retres); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)1); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_26)); + __e_acsl_28 = __e_acsl_27 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + } + e_acsl_assert(__e_acsl_28,(char *)"Postcondition", + (char *)"(\\old(\\exists integer j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)", + 12); + if (! __e_acsl_39) { __e_acsl_43 = 1; } + else { + mpz_t __e_acsl_40; + mpz_t __e_acsl_41; + int __e_acsl_42; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)__retres); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_41),(long)0); + __e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_40), + (__mpz_struct const *)(__e_acsl_41)); + __e_acsl_43 = __e_acsl_42 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); + } + e_acsl_assert(__e_acsl_43,(char *)"Postcondition", + (char *)"(\\old(\\forall integer j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)", + 15); + return (__retres); } - /*@ assert -3%-2 ≡ -1; */ ; - { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", - (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); - } +} + +int main(void) +{ + int __retres; + int found; + { int i; + i = 0; + while (1) { + if (! (i < 10)) { break; } + A[i] = i * i; + i ++; } } - /*@ assert 3%-2 ≡ 1; */ ; + found = search(36); + /*@ assert found ≡ 1; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)found); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(found == 1)", + 31); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } - /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; + found = search(5); + /*@ assert found ≡ 0; */ ; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", - (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)found); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion",(char *)"(found == 0)", + 34); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } - /*@ assert (0≡1) ≡ !(0≡0); */ ; - /*@ assert (0≤-1) ≡ (0>0); */ ; - /*@ assert (0≥-1) ≡ (0≤0); */ ; - /*@ assert (0≢1) ≡ !(0≢0); */ ; - /*@ assert (0≢0) ≡ !(1≢0); */ ; __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c index 04d1217dc1de81697904357c6e9b72395fe455dd..6971d240c5723c06183a2deb847361dd336524e2 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c @@ -44,36 +44,36 @@ int main(void) y = 1; /*@ assert x < y; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ requires x ≡ 0; ensures x ≥ 1; */ { - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Precondition", (char *)"(x == 0)",10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); if (x) { /*@ assert \false; */ ; e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",13); @@ -82,64 +82,64 @@ int main(void) /*@ requires x ≡ 0; ensures x ≡ 1; */ { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Precondition", + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)0); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Precondition", (char *)"(x == 0)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); x ++; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)1); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Postcondition", (char *)"(x == 1)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } if (x) { /*@ requires x ≡ 1; ensures x ≡ 2; */ { - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - int __e_acsl_var_18; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; { - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - int __e_acsl_var_15; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)1); - __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - e_acsl_assert(__e_acsl_var_15 == 0,(char *)"Precondition", + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + int __e_acsl_15; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)1); + __e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + e_acsl_assert(__e_acsl_15 == 0,(char *)"Precondition", (char *)"(x == 1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); x ++; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)2); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_17)); - e_acsl_assert(__e_acsl_var_18 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)2); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_17)); + e_acsl_assert(__e_acsl_18 == 0,(char *)"Postcondition", (char *)"(x == 2)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } } @@ -150,14 +150,14 @@ int main(void) } } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)1); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19), - (__mpz_struct const *)(__e_acsl_var_20)); - e_acsl_assert(__e_acsl_var_21 >= 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)1); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + e_acsl_assert(__e_acsl_21 >= 0,(char *)"Postcondition", (char *)"(x >= 1)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c index c995015bc06a8983c6b6e32478f9e4c4b6a91235..a8bded9bb0bf0b00039577681f0df59806bd828d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c @@ -42,33 +42,31 @@ int main(void) x = 0; /*@ assert x ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)", - 8); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(x == 0)",8); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } if (x) { /*@ assert x ≢ 0; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion", - (char *)"(x != 0)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 != 0,(char *)"Assertion",(char *)"(x != 0)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c index 49037d898eae52e193e8d841b08ae403e6ac0c98..e37d4c434d7145a81352837f7fa7b69fb2eaa980 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c @@ -47,29 +47,29 @@ int main(void) (char *)"(\"toto\" != \"titi\")",10); /*@ assert 'c' ≡ 'c'; */ ; { - mpz_t __e_acsl_var; - int __e_acsl_var_2; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)'c'); - __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var)); - e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion", + mpz_t __e_acsl; + int __e_acsl_2; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)'c'); + __e_acsl_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl)); + e_acsl_assert(__e_acsl_2 == 0,(char *)"Assertion", (char *)"(\'c\' == \'c\')",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); } /*@ assert false ≢ true; */ ; { - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)false); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)true); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_4)); - e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion", + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)false); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)true); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_4)); + e_acsl_assert(__e_acsl_5 != 0,(char *)"Assertion", (char *)"(false != true)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c index dba9793c88e90ffa66a4a216b3bfc8ead5a1c87c..cab21bde88c319844d5a96ac1664cb7ebb4a0466 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c @@ -35,12 +35,12 @@ int main(void) e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"(t[2] == 4)",15); /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ; { - int __e_acsl_var; + int __e_acsl; /*@ assert sizeof((int)0x0) ≢ 0; */ ; e_acsl_assert(! (4 == 0),(char *)"Assertion", (char *)"(sizeof((int)0x0) == 0)",16); - __e_acsl_var = (2 * 4) / 4; - e_acsl_assert(t[__e_acsl_var] == 4,(char *)"Assertion", + __e_acsl = (2 * 4) / 4; + e_acsl_assert(t[__e_acsl] == 4,(char *)"Assertion", (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c index 82beea1b50945c412b7a4132b8e1812398f85bde..b45a6335402dc4651dbe09f8bff9420037f81be7 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c @@ -86,95 +86,93 @@ int main(void) p = & x; /*@ assert *p ≡ 1; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)*p); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", - (char *)"(*p == 1)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)*p); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(*p == 1)",13); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert t[0] ≡ 2; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)t[0]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", - (char *)"(t[0] == 2)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)t[0]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)2); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion",(char *)"(t[0] == 2)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } /*@ assert t[2] ≡ 4; */ ; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)t[2]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)4); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion", - (char *)"(t[2] == 4)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)t[2]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)4); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Assertion",(char *)"(t[2] == 4)", + 15); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - int __e_acsl_var_15; - mpz_t __e_acsl_var_16; - unsigned long __e_acsl_var_17; - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - int __e_acsl_var_20; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)0); - __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + int __e_acsl_15; + mpz_t __e_acsl_16; + unsigned long __e_acsl_17; + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + int __e_acsl_20; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_12)); + __gmpz_mul((__mpz_struct *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)0); + __e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + __gmpz_init((__mpz_struct *)(__e_acsl_16)); /*@ assert sizeof((int)0x0) ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_15 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_15 == 0),(char *)"Assertion", (char *)"(sizeof((int)0x0) == 0)",16); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __e_acsl_var_17 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_16)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18), - (long)t[__e_acsl_var_17]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)4); - __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - e_acsl_assert(__e_acsl_var_20 == 0,(char *)"Assertion", + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __e_acsl_17 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_16)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)t[__e_acsl_17]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)4); + __e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + e_acsl_assert(__e_acsl_20 == 0,(char *)"Assertion", (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); } { @@ -184,87 +182,87 @@ int main(void) if (! (i < 2)) { break; } /*@ assert t[i] ≡ i+2; */ ; { - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - mpz_t __e_acsl_var_23; - mpz_t __e_acsl_var_24; - int __e_acsl_var_25; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)t[i]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)i); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_23)); - __e_acsl_var_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21), - (__mpz_struct const *)(__e_acsl_var_24)); - e_acsl_assert(__e_acsl_var_25 == 0,(char *)"Assertion", + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + mpz_t __e_acsl_24; + int __e_acsl_25; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)t[i]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)i); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_24)); + __gmpz_add((__mpz_struct *)(__e_acsl_24), + (__mpz_struct const *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_23)); + __e_acsl_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_24)); + e_acsl_assert(__e_acsl_25 == 0,(char *)"Assertion", (char *)"(t[i] == i+2)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); } /*@ assert t[2-i] ≡ 4-i; */ ; { - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - unsigned long __e_acsl_var_29; - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)i); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_28)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30), - (long)t[__e_acsl_var_29]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_32), - (__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_32)); - e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion", + mpz_t __e_acsl_26; + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + unsigned long __e_acsl_29; + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)i); + __gmpz_init((__mpz_struct *)(__e_acsl_28)); + __gmpz_sub((__mpz_struct *)(__e_acsl_28), + (__mpz_struct const *)(__e_acsl_26), + (__mpz_struct const *)(__e_acsl_27)); + __e_acsl_29 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_28)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30), + (long)t[__e_acsl_29]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_32)); + __gmpz_sub((__mpz_struct *)(__e_acsl_32), + (__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_27)); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_32)); + e_acsl_assert(__e_acsl_33 == 0,(char *)"Assertion", (char *)"(t[2-i] == 4-i)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } /*@ assert *(&t[2]-i) ≡ 4-i; */ ; { - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - mpz_t __e_acsl_var_37; - int __e_acsl_var_38; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34), + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + mpz_t __e_acsl_37; + int __e_acsl_38; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34), (long)*(& t[2] - (long)i)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_36),(long)i); - __gmpz_init((__mpz_struct *)(__e_acsl_var_37)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_37), - (__mpz_struct const *)(__e_acsl_var_35), - (__mpz_struct const *)(__e_acsl_var_36)); - __e_acsl_var_38 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_37)); - e_acsl_assert(__e_acsl_var_38 == 0,(char *)"Assertion", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_36),(long)i); + __gmpz_init((__mpz_struct *)(__e_acsl_37)); + __gmpz_sub((__mpz_struct *)(__e_acsl_37), + (__mpz_struct const *)(__e_acsl_35), + (__mpz_struct const *)(__e_acsl_36)); + __e_acsl_38 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_37)); + e_acsl_assert(__e_acsl_38 == 0,(char *)"Assertion", (char *)"(*(&t[2]-i) == 4-i)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); } i ++; @@ -275,17 +273,17 @@ int main(void) t[2] = 5; /*@ assert *p ≡ 5; */ ; { - mpz_t __e_acsl_var_39; - mpz_t __e_acsl_var_40; - int __e_acsl_var_41; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)*p); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)5); - __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_40)); - e_acsl_assert(__e_acsl_var_41 == 0,(char *)"Assertion", - (char *)"(*p == 5)",27); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_40)); + mpz_t __e_acsl_39; + mpz_t __e_acsl_40; + int __e_acsl_41; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_39),(long)*p); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)5); + __e_acsl_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_40)); + e_acsl_assert(__e_acsl_41 == 0,(char *)"Assertion",(char *)"(*p == 5)", + 27); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c index f043afbb8684ea93bfa5c62f924d9263f830ef58..20d6448118ca5eb10999fdebadb232f255ee2204 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif.c @@ -21,78 +21,78 @@ int main(void) int __retres; /*@ assert ∀ int x; 0 ≤ x ∧ x ≤ 1 ⇒ x ≡ 0 ∨ x ≡ 1; */ ; { - int __e_acsl_var; + int __e_acsl; int __e_acsl_x; - __e_acsl_var = 1; + __e_acsl = 1; __e_acsl_x = 0; while (1) { if (! (__e_acsl_x <= 1)) { break; } - { int __e_acsl_var_2; - if (__e_acsl_x == 0) { __e_acsl_var_2 = 1; } - else { __e_acsl_var_2 = __e_acsl_x == 1; } - if (! __e_acsl_var_2) { - __e_acsl_var = 0; + { int __e_acsl_2; + if (__e_acsl_x == 0) { __e_acsl_2 = 1; } + else { __e_acsl_2 = __e_acsl_x == 1; } + if (! __e_acsl_2) { + __e_acsl = 0; goto e_acsl_end_loop1; } } __e_acsl_x ++; } e_acsl_end_loop1: ; - e_acsl_assert(__e_acsl_var,(char *)"Assertion", + e_acsl_assert(__e_acsl,(char *)"Assertion", (char *)"(\\forall int x; 0 <= x && x <= 1 ==> x == 0 || x == 1)", 11); } /*@ assert ∀ int x; 0 < x ∧ x ≤ 1 ⇒ x ≡ 1; */ ; { - int __e_acsl_var_3; + int __e_acsl_3; int __e_acsl_x_2; - __e_acsl_var_3 = 1; + __e_acsl_3 = 1; __e_acsl_x_2 = 0 + 1; while (1) { if (! (__e_acsl_x_2 <= 1)) { break; } if (! (__e_acsl_x_2 == 1)) { - __e_acsl_var_3 = 0; + __e_acsl_3 = 0; goto e_acsl_end_loop2; } __e_acsl_x_2 ++; } e_acsl_end_loop2: ; - e_acsl_assert(__e_acsl_var_3,(char *)"Assertion", + e_acsl_assert(__e_acsl_3,(char *)"Assertion", (char *)"(\\forall int x; 0 < x && x <= 1 ==> x == 1)",12); } /*@ assert ∀ int x; 0 < x ∧ x < 1 ⇒ \false; */ ; { - int __e_acsl_var_4; + int __e_acsl_4; int __e_acsl_x_3; - __e_acsl_var_4 = 1; + __e_acsl_4 = 1; __e_acsl_x_3 = 0 + 1; while (1) { if (! (__e_acsl_x_3 < 1)) { break; } - __e_acsl_var_4 = 0; + __e_acsl_4 = 0; goto e_acsl_end_loop3; __e_acsl_x_3 ++; } e_acsl_end_loop3: ; - e_acsl_assert(__e_acsl_var_4,(char *)"Assertion", + e_acsl_assert(__e_acsl_4,(char *)"Assertion", (char *)"(\\forall int x; 0 < x && x < 1 ==> \\false)",13); } /*@ assert ∀ int x; 0 ≤ x ∧ x < 1 ⇒ x ≡ 0; */ ; { - int __e_acsl_var_5; + int __e_acsl_5; int __e_acsl_x_4; - __e_acsl_var_5 = 1; + __e_acsl_5 = 1; __e_acsl_x_4 = 0; while (1) { if (! (__e_acsl_x_4 < 1)) { break; } if (! (__e_acsl_x_4 == 0)) { - __e_acsl_var_5 = 0; + __e_acsl_5 = 0; goto e_acsl_end_loop4; } __e_acsl_x_4 ++; } e_acsl_end_loop4: ; - e_acsl_assert(__e_acsl_var_5,(char *)"Assertion", + e_acsl_assert(__e_acsl_5,(char *)"Assertion", (char *)"(\\forall int x; 0 <= x && x < 1 ==> x == 0)",14); } @@ -101,11 +101,11 @@ int main(void) ((0 ≤ x ∧ x < 2) ∧ (0 ≤ y ∧ y < 5)) ∧ (0 ≤ z ∧ z ≤ y) ⇒ x+z ≤ y+1; */ ; { - int __e_acsl_var_6; + int __e_acsl_6; int __e_acsl_x_5; int __e_acsl_y; int __e_acsl_z; - __e_acsl_var_6 = 1; + __e_acsl_6 = 1; __e_acsl_x_5 = 0; while (1) { if (! (__e_acsl_x_5 < 2)) { break; } @@ -116,7 +116,7 @@ int main(void) while (1) { if (! (__e_acsl_z <= __e_acsl_y)) { break; } if (! (__e_acsl_x_5 + __e_acsl_z <= __e_acsl_y + 1)) { - __e_acsl_var_6 = 0; + __e_acsl_6 = 0; goto e_acsl_end_loop5; } __e_acsl_z ++; @@ -126,27 +126,26 @@ int main(void) __e_acsl_x_5 ++; } e_acsl_end_loop5: ; - e_acsl_assert(__e_acsl_var_6,(char *)"Assertion", + e_acsl_assert(__e_acsl_6,(char *)"Assertion", (char *)"(\\forall int x, int y, int z;\n ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n x+z <= y+1)", 18); } /*@ assert ∃ int x; (0 ≤ x ∧ x < 10) ∧ x ≡ 5; */ ; { - int __e_acsl_var_7; + int __e_acsl_7; int __e_acsl_x_6; - __e_acsl_var_7 = 0; + __e_acsl_7 = 0; __e_acsl_x_6 = 0; while (1) { if (! (__e_acsl_x_6 < 10)) { break; } if (! (! (__e_acsl_x_6 == 5))) { - __e_acsl_var_7 = 1; - goto e_acsl_end_loop6; - } + __e_acsl_7 = 1; + goto e_acsl_end_loop6; } __e_acsl_x_6 ++; } e_acsl_end_loop6: ; - e_acsl_assert(__e_acsl_var_7,(char *)"Assertion", + e_acsl_assert(__e_acsl_7,(char *)"Assertion", (char *)"(\\exists int x; (0 <= x && x < 10) && x == 5)", 23); } @@ -155,52 +154,52 @@ int main(void) assert ∀ int x; 0 ≤ x ∧ x < 10 ⇒ (x%2 ≡ 0 ⇒ (∃ int y; (0 ≤ y ∧ y ≤ x/2) ∧ x ≡ 2*y)); */ ; { - int __e_acsl_var_8; + int __e_acsl_8; int __e_acsl_x_7; - __e_acsl_var_8 = 1; + __e_acsl_8 = 1; __e_acsl_x_7 = 0; while (1) { if (! (__e_acsl_x_7 < 10)) { break; } { - int __e_acsl_var_9; - int __e_acsl_var_12; + int __e_acsl_9; + int __e_acsl_12; /*@ assert 2 ≢ 0; */ ; e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",28); - __e_acsl_var_9 = __e_acsl_x_7 % 2; - if (! (__e_acsl_var_9 == 0)) { __e_acsl_var_12 = 1; } + __e_acsl_9 = __e_acsl_x_7 % 2; + if (! (__e_acsl_9 == 0)) { __e_acsl_12 = 1; } else { - int __e_acsl_var_10; + int __e_acsl_10; int __e_acsl_y_2; - __e_acsl_var_10 = 0; + __e_acsl_10 = 0; __e_acsl_y_2 = 0; while (1) { { - int __e_acsl_var_11; + int __e_acsl_11; /*@ assert 2 ≢ 0; */ ; e_acsl_assert(! (2 == 0),(char *)"Assertion", (char *)"(2 == 0)",28); - __e_acsl_var_11 = __e_acsl_x_7 / 2; - if (! (__e_acsl_y_2 <= __e_acsl_var_11)) { break; } + __e_acsl_11 = __e_acsl_x_7 / 2; + if (! (__e_acsl_y_2 <= __e_acsl_11)) { break; } } if (! (! (__e_acsl_x_7 == 2 * __e_acsl_y_2))) { - __e_acsl_var_10 = 1; + __e_acsl_10 = 1; goto e_acsl_end_loop7; } __e_acsl_y_2 ++; } e_acsl_end_loop7: ; - __e_acsl_var_12 = __e_acsl_var_10; + __e_acsl_12 = __e_acsl_10; } - if (! __e_acsl_var_12) { - __e_acsl_var_8 = 0; + if (! __e_acsl_12) { + __e_acsl_8 = 0; goto e_acsl_end_loop8; } } __e_acsl_x_7 ++; } e_acsl_end_loop8: ; - e_acsl_assert(__e_acsl_var_8,(char *)"Assertion", + e_acsl_assert(__e_acsl_8,(char *)"Assertion", (char *)"(\\forall int x; 0 <= x && x < 10 ==>\n (x%2 == 0 ==> (\\exists int y; (0 <= y && y <= x/2) && x == 2*y)))", 27); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..8d6a8382ad7ccacd6a9bda055270655b92a24d7c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c @@ -13,10 +13,11 @@ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); assigns *z; assigns *z \from n; */ extern void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ ensures \valid(\old(z)); +/*@ requires \valid(z_orig); + requires \valid(z); assigns *z; */ -extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str, - int base); +extern void __gmpz_set(__mpz_struct * /*[1]*/ z, + __mpz_struct const * /*[1]*/ z_orig); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -25,11 +26,6 @@ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); assigns \nothing; */ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); requires \valid(z2); requires \valid(z3); @@ -43,14 +39,6 @@ extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, requires \valid(z3); assigns *z1; */ -extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ extern void __gmpz_mul(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); @@ -70,11 +58,6 @@ extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern int __gmpz_com(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ terminates \false; ensures \false; assigns \nothing; */ @@ -95,420 +78,623 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) int main(void) { int __retres; - int x; - int y; - x = -3; - y = 2; - /*@ assert -3 ≡ x; */ ; - { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - } - - /*@ assert x ≡ -3; */ ; - { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - } - - /*@ assert 0 ≢ ~0; */ ; - { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - } - - /*@ assert x+1 ≡ -2; */ ; - { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - } - - /*@ assert x-1 ≡ -4; */ ; - { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - } - - /*@ assert x*3 ≡ -9; */ ; + /*@ assert ∀ ℤ x; 0 ≤ x ∧ x ≤ 1 ⇒ x ≡ 0 ∨ x ≡ 1; */ ; { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + int __e_acsl; + mpz_t __e_acsl_x; + __e_acsl = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_x)); + { + mpz_t __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + } + + while (1) { + { + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)1); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_8)); + if (! (__e_acsl_9 <= 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + } + + { + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_2)); + if (__e_acsl_3 == 0) { __e_acsl_6 = 1; } + else { + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)1); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_4)); + __e_acsl_6 = __e_acsl_5 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + } + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + if (! __e_acsl_6) { + __e_acsl = 0; + goto e_acsl_end_loop1; } + } + + { + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_11)); + __gmpz_add((__mpz_struct *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_10)); + __gmpz_set((__mpz_struct *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + } + + } + e_acsl_end_loop1: ; + e_acsl_assert(__e_acsl,(char *)"Assertion", + (char *)"(\\forall integer x; 0 <= x && x <= 1 ==> x == 0 || x == 1)", + 11); + __gmpz_clear((__mpz_struct *)(__e_acsl_x)); } - /*@ assert x/3 ≡ -1; */ ; + /*@ assert ∀ ℤ x; 0 < x ∧ x ≤ 1 ⇒ x ≡ 1; */ ; { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); - /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", - (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + int __e_acsl_12; + mpz_t __e_acsl_x_2; + __e_acsl_12 = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_x_2)); + { + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_17)); + __gmpz_add((__mpz_struct *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); + } + + while (1) { + { + mpz_t __e_acsl_18; + int __e_acsl_19; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)1); + __e_acsl_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_18)); + if (! (__e_acsl_19 <= 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + } + + { + mpz_t __e_acsl_13; + int __e_acsl_14; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)1); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + if (! (__e_acsl_14 == 0)) { + __e_acsl_12 = 0; + goto e_acsl_end_loop2; } + } + + { + mpz_t __e_acsl_20; + mpz_t __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_21)); + __gmpz_add((__mpz_struct *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_20)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + } + + } + e_acsl_end_loop2: ; + e_acsl_assert(__e_acsl_12,(char *)"Assertion", + (char *)"(\\forall integer x; 0 < x && x <= 1 ==> x == 1)", + 12); + __gmpz_clear((__mpz_struct *)(__e_acsl_x_2)); } - /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; + /*@ assert ∀ ℤ x; 0 < x ∧ x < 1 ⇒ \false; */ ; { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", - (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", - (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); + int __e_acsl_22; + mpz_t __e_acsl_x_3; + __e_acsl_22 = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_x_3)); + { + mpz_t __e_acsl_23; + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_25)); + __gmpz_add((__mpz_struct *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_24)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_3), + (__mpz_struct const *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + } + + while (1) { + { + mpz_t __e_acsl_26; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)1); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3), + (__mpz_struct const *)(__e_acsl_26)); + if (! (__e_acsl_27 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + } + + __e_acsl_22 = 0; + goto e_acsl_end_loop3; + { + mpz_t __e_acsl_28; + mpz_t __e_acsl_29; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_29)); + __gmpz_add((__mpz_struct *)(__e_acsl_29), + (__mpz_struct const *)(__e_acsl_x_3), + (__mpz_struct const *)(__e_acsl_28)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_3), + (__mpz_struct const *)(__e_acsl_29)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_29)); + } + + } + e_acsl_end_loop3: ; + e_acsl_assert(__e_acsl_22,(char *)"Assertion", + (char *)"(\\forall integer x; 0 < x && x < 1 ==> \\false)", + 13); + __gmpz_clear((__mpz_struct *)(__e_acsl_x_3)); } - /*@ assert x%2 ≡ -1; */ ; + /*@ assert ∀ ℤ x; 0 ≤ x ∧ x < 1 ⇒ x ≡ 0; */ ; { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); - /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", - (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + int __e_acsl_30; + mpz_t __e_acsl_x_4; + __e_acsl_30 = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_x_4)); + { + mpz_t __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_33),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_33)); + __gmpz_clear((__mpz_struct *)(__e_acsl_33)); + } + + while (1) { + { + mpz_t __e_acsl_34; + int __e_acsl_35; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)1); + __e_acsl_35 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_34)); + if (! (__e_acsl_35 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + } + + { + mpz_t __e_acsl_31; + int __e_acsl_32; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)0); + __e_acsl_32 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + if (! (__e_acsl_32 == 0)) { + __e_acsl_30 = 0; + goto e_acsl_end_loop4; } + } + + { + mpz_t __e_acsl_36; + mpz_t __e_acsl_37; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_36),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_37)); + __gmpz_add((__mpz_struct *)(__e_acsl_37), + (__mpz_struct const *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_36)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); + } + + } + e_acsl_end_loop4: ; + e_acsl_assert(__e_acsl_30,(char *)"Assertion", + (char *)"(\\forall integer x; 0 <= x && x < 1 ==> x == 0)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_x_4)); } - /*@ assert -3%-2 ≡ -1; */ ; + /*@ + assert ∀ ℤ x, ℤ y, ℤ z; + ((0 ≤ x ∧ x < 2) ∧ (0 ≤ y ∧ y < 5)) ∧ (0 ≤ z ∧ z ≤ y) ⇒ + x+z ≤ y+1; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", - (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); + int __e_acsl_38; + mpz_t __e_acsl_x_5; + mpz_t __e_acsl_y; + mpz_t __e_acsl_z; + __e_acsl_38 = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_x_5)); + __gmpz_init((__mpz_struct *)(__e_acsl_y)); + __gmpz_init((__mpz_struct *)(__e_acsl_z)); + { + mpz_t __e_acsl_52; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_x_5), + (__mpz_struct const *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + } + + while (1) { + { + mpz_t __e_acsl_53; + int __e_acsl_54; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_53),(long)2); + __e_acsl_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5), + (__mpz_struct const *)(__e_acsl_53)); + if (! (__e_acsl_54 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); + } + + { + mpz_t __e_acsl_47; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_47),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_y), + (__mpz_struct const *)(__e_acsl_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); + } + + while (1) { + { + mpz_t __e_acsl_48; + int __e_acsl_49; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_48),(long)5); + __e_acsl_49 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y), + (__mpz_struct const *)(__e_acsl_48)); + if (! (__e_acsl_49 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_48)); + } + + { + mpz_t __e_acsl_43; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_z), + (__mpz_struct const *)(__e_acsl_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); + } + + while (1) { + { + int __e_acsl_44; + __e_acsl_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_z), + (__mpz_struct const *)(__e_acsl_y)); + if (! (__e_acsl_44 <= 0)) { break; } + } + + { + mpz_t __e_acsl_39; + mpz_t __e_acsl_40; + mpz_t __e_acsl_41; + int __e_acsl_42; + __gmpz_init((__mpz_struct *)(__e_acsl_39)); + __gmpz_add((__mpz_struct *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_x_5), + (__mpz_struct const *)(__e_acsl_z)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_41)); + __gmpz_add((__mpz_struct *)(__e_acsl_41), + (__mpz_struct const *)(__e_acsl_y), + (__mpz_struct const *)(__e_acsl_40)); + __e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_41)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); + if (! (__e_acsl_42 <= 0)) { + __e_acsl_38 = 0; + goto e_acsl_end_loop5; + } + } + + { + mpz_t __e_acsl_45; + mpz_t __e_acsl_46; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_45),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_46)); + __gmpz_add((__mpz_struct *)(__e_acsl_46), + (__mpz_struct const *)(__e_acsl_z), + (__mpz_struct const *)(__e_acsl_45)); + __gmpz_set((__mpz_struct *)(__e_acsl_z), + (__mpz_struct const *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_45)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + } + + } + { + mpz_t __e_acsl_50; + mpz_t __e_acsl_51; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_50),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_51)); + __gmpz_add((__mpz_struct *)(__e_acsl_51), + (__mpz_struct const *)(__e_acsl_y), + (__mpz_struct const *)(__e_acsl_50)); + __gmpz_set((__mpz_struct *)(__e_acsl_y), + (__mpz_struct const *)(__e_acsl_51)); + __gmpz_clear((__mpz_struct *)(__e_acsl_50)); + __gmpz_clear((__mpz_struct *)(__e_acsl_51)); + } + + } + { + mpz_t __e_acsl_55; + mpz_t __e_acsl_56; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_55),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_56)); + __gmpz_add((__mpz_struct *)(__e_acsl_56), + (__mpz_struct const *)(__e_acsl_x_5), + (__mpz_struct const *)(__e_acsl_55)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_5), + (__mpz_struct const *)(__e_acsl_56)); + __gmpz_clear((__mpz_struct *)(__e_acsl_55)); + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); + } + + } + e_acsl_end_loop5: ; + e_acsl_assert(__e_acsl_38,(char *)"Assertion", + (char *)"(\\forall integer x, integer y, integer z;\n ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n x+z <= y+1)", + 18); + __gmpz_clear((__mpz_struct *)(__e_acsl_x_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_y)); + __gmpz_clear((__mpz_struct *)(__e_acsl_z)); } - /*@ assert 3%-2 ≡ 1; */ ; + /*@ assert ∃ ℤ x; (0 ≤ x ∧ x < 10) ∧ x ≡ 5; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); + int __e_acsl_57; + mpz_t __e_acsl_x_6; + __e_acsl_57 = 0; + __gmpz_init((__mpz_struct *)(__e_acsl_x_6)); + { + mpz_t __e_acsl_60; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_60),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_60)); + __gmpz_clear((__mpz_struct *)(__e_acsl_60)); + } + + while (1) { + { + mpz_t __e_acsl_61; + int __e_acsl_62; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_61),(long)10); + __e_acsl_62 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_61)); + if (! (__e_acsl_62 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_61)); + } + + { + mpz_t __e_acsl_58; + int __e_acsl_59; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_58),(long)5); + __e_acsl_59 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + if (! (! (__e_acsl_59 == 0))) { + __e_acsl_57 = 1; + goto e_acsl_end_loop6; + } + } + + { + mpz_t __e_acsl_63; + mpz_t __e_acsl_64; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_64)); + __gmpz_add((__mpz_struct *)(__e_acsl_64), + (__mpz_struct const *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_63)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_64)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); + __gmpz_clear((__mpz_struct *)(__e_acsl_64)); + } + + } + e_acsl_end_loop6: ; + e_acsl_assert(__e_acsl_57,(char *)"Assertion", + (char *)"(\\exists integer x; (0 <= x && x < 10) && x == 5)", + 23); + __gmpz_clear((__mpz_struct *)(__e_acsl_x_6)); } - /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; + /*@ + assert ∀ ℤ x; 0 ≤ x ∧ x < 10 ⇒ + (x%2 ≡ 0 ⇒ (∃ ℤ y; (0 ≤ y ∧ y ≤ x/2) ∧ x ≡ 2*y)); */ ; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", - (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + int __e_acsl_65; + mpz_t __e_acsl_x_7; + __e_acsl_65 = 1; + __gmpz_init((__mpz_struct *)(__e_acsl_x_7)); + { + mpz_t __e_acsl_84; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_84),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_84)); + __gmpz_clear((__mpz_struct *)(__e_acsl_84)); + } + + while (1) { + { + mpz_t __e_acsl_85; + int __e_acsl_86; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_85),(long)10); + __e_acsl_86 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_85)); + if (! (__e_acsl_86 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_85)); + } + + { + mpz_t __e_acsl_66; + mpz_t __e_acsl_67; + int __e_acsl_68; + mpz_t __e_acsl_69; + int __e_acsl_70; + int __e_acsl_83; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_66),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_67),(long)0); + __e_acsl_68 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_66), + (__mpz_struct const *)(__e_acsl_67)); + __gmpz_init((__mpz_struct *)(__e_acsl_69)); + /*@ assert 2 ≢ 0; */ ; + e_acsl_assert(! (__e_acsl_68 == 0),(char *)"Assertion", + (char *)"(2 == 0)",28); + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_69), + (__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_66)); + __e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_69), + (__mpz_struct const *)(__e_acsl_67)); + if (! (__e_acsl_70 == 0)) { __e_acsl_83 = 1; } + else { + int __e_acsl_71; + mpz_t __e_acsl_y_2; + __e_acsl_71 = 0; + __gmpz_init((__mpz_struct *)(__e_acsl_y_2)); + { + mpz_t __e_acsl_75; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_75),(long)0); + __gmpz_set((__mpz_struct *)(__e_acsl_y_2), + (__mpz_struct const *)(__e_acsl_75)); + __gmpz_clear((__mpz_struct *)(__e_acsl_75)); + } + + while (1) { + { + mpz_t __e_acsl_76; + mpz_t __e_acsl_77; + int __e_acsl_78; + mpz_t __e_acsl_79; + int __e_acsl_80; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_76),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_77),(long)0); + __e_acsl_78 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_76), + (__mpz_struct const *)(__e_acsl_77)); + __gmpz_init((__mpz_struct *)(__e_acsl_79)); + /*@ assert 2 ≢ 0; */ ; + e_acsl_assert(! (__e_acsl_78 == 0),(char *)"Assertion", + (char *)"(2 == 0)",28); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_79), + (__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_76)); + __e_acsl_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2), + (__mpz_struct const *)(__e_acsl_79)); + if (! (__e_acsl_80 <= 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_76)); + __gmpz_clear((__mpz_struct *)(__e_acsl_77)); + __gmpz_clear((__mpz_struct *)(__e_acsl_79)); + } + + { + mpz_t __e_acsl_72; + mpz_t __e_acsl_73; + int __e_acsl_74; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_72),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_73)); + __gmpz_mul((__mpz_struct *)(__e_acsl_73), + (__mpz_struct const *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_y_2)); + __e_acsl_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_73)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_73)); + if (! (! (__e_acsl_74 == 0))) { + __e_acsl_71 = 1; + goto e_acsl_end_loop7; + } + } + + { + mpz_t __e_acsl_81; + mpz_t __e_acsl_82; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_81), + (long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_82)); + __gmpz_add((__mpz_struct *)(__e_acsl_82), + (__mpz_struct const *)(__e_acsl_y_2), + (__mpz_struct const *)(__e_acsl_81)); + __gmpz_set((__mpz_struct *)(__e_acsl_y_2), + (__mpz_struct const *)(__e_acsl_82)); + __gmpz_clear((__mpz_struct *)(__e_acsl_81)); + __gmpz_clear((__mpz_struct *)(__e_acsl_82)); + } + + } + e_acsl_end_loop7: ; + __e_acsl_83 = __e_acsl_71; + __gmpz_clear((__mpz_struct *)(__e_acsl_y_2)); + } + __gmpz_clear((__mpz_struct *)(__e_acsl_66)); + __gmpz_clear((__mpz_struct *)(__e_acsl_67)); + __gmpz_clear((__mpz_struct *)(__e_acsl_69)); + if (! __e_acsl_83) { + __e_acsl_65 = 0; + goto e_acsl_end_loop8; } + } + + { + mpz_t __e_acsl_87; + mpz_t __e_acsl_88; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_87),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_88)); + __gmpz_add((__mpz_struct *)(__e_acsl_88), + (__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_87)); + __gmpz_set((__mpz_struct *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_88)); + __gmpz_clear((__mpz_struct *)(__e_acsl_87)); + __gmpz_clear((__mpz_struct *)(__e_acsl_88)); + } + + } + e_acsl_end_loop8: ; + e_acsl_assert(__e_acsl_65,(char *)"Assertion", + (char *)"(\\forall integer x; 0 <= x && x < 10 ==>\n (x%2 == 0 ==> (\\exists integer y; (0 <= y && y <= x/2) && x == 2*y)))", + 27); + __gmpz_clear((__mpz_struct *)(__e_acsl_x_7)); } - /*@ assert (0≡1) ≡ !(0≡0); */ ; - /*@ assert (0≤-1) ≡ (0>0); */ ; - /*@ assert (0≥-1) ≡ (0≤0); */ ; - /*@ assert (0≢1) ≡ !(0≢0); */ ; - /*@ assert (0≢0) ≡ !(1≢0); */ ; __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c index f53003ba290ee6075b71b666dea6677147e495d7..6dc6dc3e2a13a21ff7f37fb75ba9d75b4f8e11f1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result.c @@ -19,12 +19,12 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) /*@ ensures \result ≡ (int)(\old(x)-\old(x)); */ int f(int x) { - int __e_acsl_var; - int __e_acsl_var_2; - __e_acsl_var_2 = x; - __e_acsl_var = x; + int __e_acsl; + int __e_acsl_2; + __e_acsl_2 = x; + __e_acsl = x; x = 0; - e_acsl_assert(x == (int)((long long)__e_acsl_var - (long long)__e_acsl_var_2), + e_acsl_assert(x == (int)((long long)__e_acsl - (long long)__e_acsl_2), (char *)"Postcondition", (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7); return (x); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..2a1c91f148f9bf4f62895ed674a12ed5c7599515 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c @@ -13,10 +13,6 @@ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); assigns *z; assigns *z \from n; */ extern void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ ensures \valid(\old(z)); - assigns *z; */ -extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str, - int base); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -25,19 +21,6 @@ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); assigns \nothing; */ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); requires \valid(z2); requires \valid(z3); @@ -46,35 +29,9 @@ extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_mul(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern int __gmpz_com(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); +/*@ requires \valid(z); + assigns \nothing; */ +extern unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); /*@ terminates \false; ensures \false; assigns \nothing; */ @@ -92,423 +49,88 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) return; } -int main(void) +/*@ ensures \result ≡ (int)(\old(x)-\old(x)); */ +int f(int x) { - int __retres; - int x; - int y; - x = -3; - y = 2; - /*@ assert -3 ≡ x; */ ; - { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - } - - /*@ assert x ≡ -3; */ ; - { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - } - - /*@ assert 0 ≢ ~0; */ ; - { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - } - - /*@ assert x+1 ≡ -2; */ ; - { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - } - - /*@ assert x-1 ≡ -4; */ ; - { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - } - - /*@ assert x*3 ≡ -9; */ ; - { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - } - - /*@ assert x/3 ≡ -1; */ ; - { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); - /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", - (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); - } - - /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; - { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", - (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", - (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - } - - /*@ assert x%2 ≡ -1; */ ; + int __e_acsl_2; + int __e_acsl_4; + __e_acsl_4 = x; + __e_acsl_2 = x; + x = 0; { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); - /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", - (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); + mpz_t __e_acsl; + mpz_t __e_acsl_3; + mpz_t __e_acsl_5; + unsigned long __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)__e_acsl_2); + __gmpz_init((__mpz_struct *)(__e_acsl_5)); + __gmpz_sub((__mpz_struct *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_3)); + __e_acsl_6 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_5)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)((int)__e_acsl_6)); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_7)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Postcondition", + (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + return (x); } - /*@ assert -3%-2 ≡ -1; */ ; - { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", - (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); - } - - /*@ assert 3%-2 ≡ 1; */ ; - { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); - } - - /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; +} + +int Y = 1; +/*@ ensures \result ≡ Y; */ +int g(int x) +{ + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)Y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition", + (char *)"(\\result == Y)",18); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + return (x); +} + +/*@ ensures \result ≡ 0; */ +int h(void) +{ + int __retres; + __retres = 0; { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", - (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)__retres); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition", + (char *)"(\\result == 0)",23); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + return (__retres); } - /*@ assert (0≡1) ≡ !(0≡0); */ ; - /*@ assert (0≤-1) ≡ (0>0); */ ; - /*@ assert (0≥-1) ≡ (0≤0); */ ; - /*@ assert (0≢1) ≡ !(0≢0); */ ; - /*@ assert (0≢0) ≡ !(1≢0); */ ; +} + +int main(void) +{ + int __retres; + f(1); + g(Y); + h(); __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c index 409eb1b59d18a7d02291fd27ea3a708636575fba..64b1f0164da6d74b3f2f169c28ad5bbd1065f3fe 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c @@ -42,32 +42,32 @@ int main(void) x = 0; /*@ assert sizeof(int) ≡ sizeof(x); */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)4); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)4); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion", (char *)"(sizeof(int) == sizeof(x))",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert sizeof("totototototo") ≡ sizeof(char *); */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)4); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)4); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion", (char *)"(sizeof(\"totototototo\") == sizeof(char *))",10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c index d283cc0885594cf2e604b4b1d6b416797e8c7bbf..dc89ec5b21ab895cb02d875b66e760e50121f19b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c @@ -77,26 +77,26 @@ int main(void) */ { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; - int __e_acsl_var_5; - if (! (x == 1)) { __e_acsl_var = 1; } - else { __e_acsl_var = x == 0; } - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; + int __e_acsl_5; + if (! (x == 1)) { __e_acsl = 1; } + else { __e_acsl = x == 0; } + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(x == 1 ==> x == 0)",34); - if (x == 3) { __e_acsl_var_2 = y == 2; } - else { __e_acsl_var_2 = 0; } - if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; } - else { __e_acsl_var_3 = x == 3; } - e_acsl_assert(__e_acsl_var_3,(char *)"Precondition", + if (x == 3) { __e_acsl_2 = y == 2; } + else { __e_acsl_2 = 0; } + if (! __e_acsl_2) { __e_acsl_3 = 1; } + else { __e_acsl_3 = x == 3; } + e_acsl_assert(__e_acsl_3,(char *)"Precondition", (char *)"(x == 3 && y == 2 ==> x == 3)",38); - if (x == 3) { __e_acsl_var_4 = y == 2; } - else { __e_acsl_var_4 = 0; } - if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; } - else { __e_acsl_var_5 = (long long)x + (long long)y == (long long)5; } - e_acsl_assert(__e_acsl_var_5,(char *)"Precondition", + if (x == 3) { __e_acsl_4 = y == 2; } + else { __e_acsl_4 = 0; } + if (! __e_acsl_4) { __e_acsl_5 = 1; } + else { __e_acsl_5 = (long long)x + (long long)y == (long long)5; } + e_acsl_assert(__e_acsl_5,(char *)"Precondition", (char *)"(x == 3 && y == 2 ==> x+y == 5)",39); x += y; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c index b91ee4c1fa656207487ebafd34d204fcf85529c6..8ac33748d4ba939bc36f21719f29fd6aece2a591 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c @@ -13,10 +13,6 @@ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); assigns *z; assigns *z \from n; */ extern void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ ensures \valid(\old(z)); - assigns *z; */ -extern int __gmpz_init_set_str(__mpz_struct * /*[1]*/ z, char const *str, - int base); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -25,11 +21,6 @@ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); assigns \nothing; */ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); requires \valid(z2); requires \valid(z3); @@ -38,43 +29,6 @@ extern void __gmpz_neg(__mpz_struct * /*[1]*/ z1, extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_mul(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - assigns *z1; */ -extern int __gmpz_com(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2); /*@ terminates \false; ensures \false; assigns \nothing; */ @@ -97,419 +51,353 @@ int main(void) int __retres; int x; int y; - x = -3; + x = 0; y = 2; - /*@ assert -3 ≡ x; */ ; - { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - mpz_t __e_acsl_var_3; - int __e_acsl_var_4; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)x); - __e_acsl_var_4 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_2), - (__mpz_struct const *)(__e_acsl_var_3)); - e_acsl_assert(__e_acsl_var_4 == 0,(char *)"Assertion", - (char *)"(-3 == x)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - } - - /*@ assert x ≡ -3; */ ; + /*@ ensures x ≡ 1; */ { - mpz_t __e_acsl_var_5; - mpz_t __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_6),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Assertion", - (char *)"(x == -3)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + x = 1; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition",(char *)"(x == 1)", + 9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } - /*@ assert 0 ≢ ~0; */ ; + /*@ ensures x ≡ 2; + ensures y ≡ 2; */ { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __gmpz_init((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_com((__mpz_struct *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_9)); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 != 0,(char *)"Assertion", - (char *)"(0 != ~0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + x = 2; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)2); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Postcondition",(char *)"(x == 2)", + 12); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)y); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Postcondition",(char *)"(y == 2)", + 13); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } - /*@ assert x+1 ≡ -2; */ ; + /*@ requires x ≡ 2; */ { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_14), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Assertion", - (char *)"(x+1 == -2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + int __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)2); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9), + (__mpz_struct const *)(__e_acsl_10)); + e_acsl_assert(__e_acsl_11 == 0,(char *)"Precondition",(char *)"(x == 2)", + 16); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + x ++; } - /*@ assert x-1 ≡ -4; */ ; + /*@ requires x ≡ 3; + requires y ≡ 2; */ { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_21)); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_20), - (__mpz_struct const *)(__e_acsl_var_22)); - e_acsl_assert(__e_acsl_var_23 == 0,(char *)"Assertion", - (char *)"(x-1 == -4)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + int __e_acsl_14; + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)3); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + e_acsl_assert(__e_acsl_14 == 0,(char *)"Precondition",(char *)"(x == 3)", + 19); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)2); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 == 0,(char *)"Precondition",(char *)"(y == 2)", + 20); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + x += y; } - /*@ assert x*3 ≡ -9; */ ; + /*@ behavior b1: + requires x ≡ 5; + ensures x ≡ 3; + + behavior b2: + requires x ≡ 3+y; + requires y ≡ 2; + ensures x ≡ y+1; + + */ { - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)9); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Assertion", - (char *)"(x*3 == -9)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + int __e_acsl_29; + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + { + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + int __e_acsl_20; + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + int __e_acsl_24; + mpz_t __e_acsl_25; + int __e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)5); + __e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + e_acsl_assert(__e_acsl_20 == 0,(char *)"Precondition", + (char *)"(x == 5)",24); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)y); + __gmpz_init((__mpz_struct *)(__e_acsl_23)); + __gmpz_add((__mpz_struct *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_22)); + __e_acsl_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_23)); + e_acsl_assert(__e_acsl_24 == 0,(char *)"Precondition", + (char *)"(x == 3+y)",27); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)2); + __e_acsl_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_25)); + e_acsl_assert(__e_acsl_26 == 0,(char *)"Precondition", + (char *)"(y == 2)",28); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + x = 3; + } + + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)3); + __e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_27), + (__mpz_struct const *)(__e_acsl_28)); + e_acsl_assert(__e_acsl_29 == 0,(char *)"Postcondition", + (char *)"(x == 3)",25); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_32)); + __gmpz_add((__mpz_struct *)(__e_acsl_32), + (__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_31)); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_27), + (__mpz_struct const *)(__e_acsl_32)); + e_acsl_assert(__e_acsl_33 == 0,(char *)"Postcondition", + (char *)"(x == y+1)",29); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } - /*@ assert x/3 ≡ -1; */ ; + /*@ behavior b1: + assumes x ≡ 1; + requires x ≡ 0; + + behavior b2: + assumes x ≡ 3; + assumes y ≡ 2; + requires x ≡ 3; + requires x+y ≡ 5; + + */ { - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)0); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_34)); - /*@ assert 3 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_33 == 0),(char *)"Assertion", - (char *)"(3 == 0)",19); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_36), - (__mpz_struct const *)(__e_acsl_var_35)); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_36)); - e_acsl_assert(__e_acsl_var_37 == 0,(char *)"Assertion", - (char *)"(x/3 == -1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + int __e_acsl_36; + int __e_acsl_40; + mpz_t __e_acsl_41; + int __e_acsl_42; + int __e_acsl_46; + int __e_acsl_50; + int __e_acsl_51; + int __e_acsl_55; + int __e_acsl_61; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)1); + __e_acsl_36 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_35)); + if (! (__e_acsl_36 == 0)) { __e_acsl_40 = 1; } + else { + mpz_t __e_acsl_37; + mpz_t __e_acsl_38; + int __e_acsl_39; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_37),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_38),(long)0); + __e_acsl_39 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_37), + (__mpz_struct const *)(__e_acsl_38)); + __e_acsl_40 = __e_acsl_39 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + } + e_acsl_assert(__e_acsl_40,(char *)"Precondition", + (char *)"(x == 1 ==> x == 0)",34); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_41),(long)3); + __e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_41)); + if (__e_acsl_42 == 0) { + mpz_t __e_acsl_43; + mpz_t __e_acsl_44; + int __e_acsl_45; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_44),(long)2); + __e_acsl_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_43), + (__mpz_struct const *)(__e_acsl_44)); + __e_acsl_46 = __e_acsl_45 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_44)); + } + else { __e_acsl_46 = 0; } + if (! __e_acsl_46) { __e_acsl_50 = 1; } + else { + mpz_t __e_acsl_47; + mpz_t __e_acsl_48; + int __e_acsl_49; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_47),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_48),(long)3); + __e_acsl_49 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_48)); + __e_acsl_50 = __e_acsl_49 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_48)); + } + e_acsl_assert(__e_acsl_50,(char *)"Precondition", + (char *)"(x == 3 && y == 2 ==> x == 3)",38); + __e_acsl_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_41)); + if (__e_acsl_51 == 0) { + mpz_t __e_acsl_52; + mpz_t __e_acsl_53; + int __e_acsl_54; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_53),(long)2); + __e_acsl_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_52), + (__mpz_struct const *)(__e_acsl_53)); + __e_acsl_55 = __e_acsl_54 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); + } + else { __e_acsl_55 = 0; } + if (! __e_acsl_55) { __e_acsl_61 = 1; } + else { + mpz_t __e_acsl_56; + mpz_t __e_acsl_57; + mpz_t __e_acsl_58; + mpz_t __e_acsl_59; + int __e_acsl_60; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_56),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_57),(long)y); + __gmpz_init((__mpz_struct *)(__e_acsl_58)); + __gmpz_add((__mpz_struct *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_56), + (__mpz_struct const *)(__e_acsl_57)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_59),(long)5); + __e_acsl_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_59)); + __e_acsl_61 = __e_acsl_60 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); + __gmpz_clear((__mpz_struct *)(__e_acsl_57)); + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_59)); + } + e_acsl_assert(__e_acsl_61,(char *)"Precondition", + (char *)"(x == 3 && y == 2 ==> x+y == 5)",39); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); + x += y; } - /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; + /*@ requires x ≡ 5; */ { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - mpz_t __e_acsl_var_42; - int __e_acsl_var_43; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_38),"17592186044415", - 10); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)0); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - /*@ assert 0xfffffffffff ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_40 == 0),(char *)"Assertion", - (char *)"(0xfffffffffff == 0)",20); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)1); - __e_acsl_var_43 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_41), - (__mpz_struct const *)(__e_acsl_var_42)); - e_acsl_assert(__e_acsl_var_43 == 0,(char *)"Assertion", - (char *)"(0xfffffffffff/0xfffffffffff == 1)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - } - - /*@ assert x%2 ≡ -1; */ ; - { - mpz_t __e_acsl_var_44; - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - int __e_acsl_var_47; - mpz_t __e_acsl_var_48; - mpz_t __e_acsl_var_49; - mpz_t __e_acsl_var_50; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)0); - __e_acsl_var_47 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_48)); - /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_47 == 0),(char *)"Assertion", - (char *)"(2 == 0)",21); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_44), - (__mpz_struct const *)(__e_acsl_var_45)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_49),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_50), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_48), - (__mpz_struct const *)(__e_acsl_var_50)); - e_acsl_assert(__e_acsl_var_51 == 0,(char *)"Assertion", - (char *)"(x%2 == -1)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); - } - - /*@ assert -3%-2 ≡ -1; */ ; - { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - mpz_t __e_acsl_var_54; - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - mpz_t __e_acsl_var_60; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)3); - __gmpz_init((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_54),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_54)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_57 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",22); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_53), - (__mpz_struct const *)(__e_acsl_var_55)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_60)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_60), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_60)); - e_acsl_assert(__e_acsl_var_61 == 0,(char *)"Assertion", - (char *)"(-3%-2 == -1)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_54)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); - } - - /*@ assert 3%-2 ≡ 1; */ ; - { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - mpz_t __e_acsl_var_65; - int __e_acsl_var_66; - mpz_t __e_acsl_var_67; - mpz_t __e_acsl_var_68; - int __e_acsl_var_69; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_63)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)0); - __e_acsl_var_66 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_64), - (__mpz_struct const *)(__e_acsl_var_65)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_67)); - /*@ assert -2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_66 == 0),(char *)"Assertion", - (char *)"(-2 == 0)",23); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)1); - __e_acsl_var_69 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_67), - (__mpz_struct const *)(__e_acsl_var_68)); - e_acsl_assert(__e_acsl_var_69 == 0,(char *)"Assertion", - (char *)"(3%-2 == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); - } + mpz_t __e_acsl_62; + mpz_t __e_acsl_63; + int __e_acsl_64; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_62),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)5); + __e_acsl_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_62), + (__mpz_struct const *)(__e_acsl_63)); + e_acsl_assert(__e_acsl_64 == 0,(char *)"Precondition",(char *)"(x == 5)", + 42); + __gmpz_clear((__mpz_struct *)(__e_acsl_62)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); + /*@ requires y ≡ 2; */ + { + mpz_t __e_acsl_65; + mpz_t __e_acsl_66; + int __e_acsl_67; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_65),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_66),(long)2); + __e_acsl_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_65), + (__mpz_struct const *)(__e_acsl_66)); + e_acsl_assert(__e_acsl_67 == 0,(char *)"Precondition", + (char *)"(y == 2)",43); + __gmpz_clear((__mpz_struct *)(__e_acsl_65)); + __gmpz_clear((__mpz_struct *)(__e_acsl_66)); + x += y; + } + } - /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; + /*@ requires x ≡ 7; + ensures x ≡ 7; */ { - mpz_t __e_acsl_var_70; - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - mpz_t __e_acsl_var_74; - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - mpz_t __e_acsl_var_80; - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_70),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_71)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_74),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_79), - (__mpz_struct const *)(__e_acsl_var_70), - (__mpz_struct const *)(__e_acsl_var_74)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81),(long)10); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_neg((__mpz_struct *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_81)); - __e_acsl_var_83 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_80), - (__mpz_struct const *)(__e_acsl_var_82)); - e_acsl_assert(__e_acsl_var_83 == 0,(char *)"Assertion", - (char *)"(((x*2+(3+y))-4)+(x-y) == -10)",25); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_70)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_74)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_80)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + mpz_t __e_acsl_71; + mpz_t __e_acsl_72; + int __e_acsl_73; + { + mpz_t __e_acsl_68; + mpz_t __e_acsl_69; + int __e_acsl_70; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_68),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_69),(long)7); + __e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_68), + (__mpz_struct const *)(__e_acsl_69)); + e_acsl_assert(__e_acsl_70 == 0,(char *)"Precondition", + (char *)"(x == 7)",46); + __gmpz_clear((__mpz_struct *)(__e_acsl_68)); + __gmpz_clear((__mpz_struct *)(__e_acsl_69)); + __retres = 0; + } + + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_71),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_72),(long)7); + __e_acsl_73 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_71), + (__mpz_struct const *)(__e_acsl_72)); + e_acsl_assert(__e_acsl_73 == 0,(char *)"Postcondition", + (char *)"(x == 7)",47); + __gmpz_clear((__mpz_struct *)(__e_acsl_71)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); } - /*@ assert (0≡1) ≡ !(0≡0); */ ; - /*@ assert (0≤-1) ≡ (0>0); */ ; - /*@ assert (0≥-1) ≡ (0≤0); */ ; - /*@ assert (0≢1) ≡ !(0≢0); */ ; - /*@ assert (0≢0) ≡ !(1≢0); */ ; - __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c index 650b33b46c845d7aedfdab1ff2534eae219b83db..9cce2b5fc5988d95af47f036cfd0cabdf87f2547 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c @@ -47,17 +47,16 @@ int main(void) x = (unsigned char)0; /*@ assert x ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var),(unsigned long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)", - 11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl),(unsigned long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(x == 0)",11); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle index 7dc50bdf0836d53c1d86de0f9360b21d721ffacf..706910fa16029d33a57bb09fb38b7835adca8c29 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.1.res.oracle @@ -110,43 +110,41 @@ int main(void) int x; /*@ assert 0 ≡ 0; */ ; { - mpz_t __e_acsl_var; - int __e_acsl_var_2; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)0); - __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var)); - e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion",(char *)"(0 == 0)", - 9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); + mpz_t __e_acsl; + int __e_acsl_2; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)0); + __e_acsl_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl)); + e_acsl_assert(__e_acsl_2 == 0,(char *)"Assertion",(char *)"(0 == 0)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); } x = 0; /*@ assert 0 ≢ 1; */ ; { - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)0); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)1); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_4)); - e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion",(char *)"(0 != 1)", - 10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)1); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_4)); + e_acsl_assert(__e_acsl_5 != 0,(char *)"Assertion",(char *)"(0 != 1)",10); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ; { - mpz_t __e_acsl_var_6; - int __e_acsl_var_7; - __gmpz_init_set_str((__mpz_struct *)(__e_acsl_var_6), - "1152921504606846975",10); - __e_acsl_var_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_6), - (__mpz_struct const *)(__e_acsl_var_6)); - e_acsl_assert(__e_acsl_var_7 == 0,(char *)"Assertion", + mpz_t __e_acsl_6; + int __e_acsl_7; + __gmpz_init_set_str((__mpz_struct *)(__e_acsl_6),"1152921504606846975", + 10); + __e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_6), + (__mpz_struct const *)(__e_acsl_6)); + e_acsl_assert(__e_acsl_7 == 0,(char *)"Assertion", (char *)"(1152921504606846975 == 0xfffffffffffffff)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_6)); + __gmpz_clear((__mpz_struct *)(__e_acsl_6)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle index 299111d306beea8f8b4cdeddba23288aee033be5..de81a7141b90c4a958cfc6399000f21898ab8f4c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.1.res.oracle @@ -919,47 +919,47 @@ int main(void) if (! (i < 10)) { break; } /*@ invariant 0 ≤ i ∧ i < 10; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)0); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)i); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - if (__e_acsl_var_3 <= 0) { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)i); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)10); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - __e_acsl_var_7 = __e_acsl_var_6 < 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)i); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + if (__e_acsl_3 <= 0) { + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)i); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)10); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __e_acsl_6 < 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } - else { __e_acsl_var_7 = 0; } - e_acsl_assert(__e_acsl_var_7,(char *)"Invariant", + else { __e_acsl_7 = 0; } + e_acsl_assert(__e_acsl_7,(char *)"Invariant", (char *)"(0 <= i && i < 10)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } x += i; /*@ invariant i ≤ x; */ ; { - mpz_t __e_acsl_var_8; - mpz_t __e_acsl_var_9; - int __e_acsl_var_10; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)i); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)x); - __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8), - (__mpz_struct const *)(__e_acsl_var_9)); - e_acsl_assert(__e_acsl_var_10 <= 0,(char *)"Invariant", + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + int __e_acsl_10; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)i); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)x); + __e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + e_acsl_assert(__e_acsl_10 <= 0,(char *)"Invariant", (char *)"(i <= x)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } i ++; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle index 316b4936958676c714e641bf1b57592423c2e724..4be8dd530f69bb8b64f28679474876831fa084db 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/invariant.res.oracle @@ -171,10 +171,10 @@ int main(void) while (1) { if (! (i < 10)) { break; } /*@ invariant 0 ≤ i ∧ i < 10; */ ; - { int __e_acsl_var; - if (0 <= i) { __e_acsl_var = i < 10; } - else { __e_acsl_var = 0; } - e_acsl_assert(__e_acsl_var,(char *)"Invariant", + { int __e_acsl; + if (0 <= i) { __e_acsl = i < 10; } + else { __e_acsl = 0; } + e_acsl_assert(__e_acsl,(char *)"Invariant", (char *)"(0 <= i && i < 10)",9); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle index 65d07b88611e383765f9fa9912c8bdaf2d579252..24a6bb7682e4cf846a9dcae0e79729c9c9a680ce 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/labeled_stmt.1.res.oracle @@ -139,17 +139,16 @@ int main(void) L1: /*@ assert X ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(X == 0)", - 12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(X == 0)",12); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } X = 1; @@ -158,32 +157,32 @@ int main(void) /*@ requires X ≡ 1; ensures X ≡ 2; */ { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)1); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)1); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Precondition", (char *)"(X == 1)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); X = 2; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)2); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Postcondition", - (char *)"(X == 2)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)2); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Postcondition",(char *)"(X == 2)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } if (X) { @@ -193,17 +192,17 @@ int main(void) __retres = 0; return_label: { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)X); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)3); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition", + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)X); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)3); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Postcondition", (char *)"(X == 3)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle index de0bc9ae17ed7e61ddb5e5132e67dfdbb5e0f861..7bd9c82dfbca3346232e74b8ab5e56772af3f575 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.1.res.oracle @@ -1,5 +1,3 @@ -:0:[e-acsl] warning: E-ACSL construct `typing of user-defined logic type' is not yet supported. - Ignoring annotation. [value] Analyzing a complete application starting at main [value] Computing initial state [value] Initial state computed @@ -506,105 +504,168 @@ PROJECT_FILE.i:596:[value] Assertion got status valid. Called from PROJECT_FILE.i:645. [value] Done for function __gmpz_clear PROJECT_FILE.i:649:[value] Assertion got status valid. -PROJECT_FILE.i:651:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:658. + Called from PROJECT_FILE.i:660. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:659. + Called from PROJECT_FILE.i:661. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:660. + Called from PROJECT_FILE.i:662. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init_set_si <- main. Called from PROJECT_FILE.i:665. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:671. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set <- main. Called from PROJECT_FILE.i:666. +PROJECT_FILE.i:73:[value] Function __gmpz_init_set: precondition got status valid. +PROJECT_FILE.i:74:[value] Function __gmpz_init_set: postcondition got status valid. +[value] Done for function __gmpz_init_set +[value] computing for function __gmpz_init_set <- main. + Called from PROJECT_FILE.i:672. +[value] Done for function __gmpz_init_set +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:667. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:673. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:675. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:676. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:667. + Called from PROJECT_FILE.i:677. [value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:678. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:679. +[value] Done for function __gmpz_cmp +[value] computing for function e_acsl_assert <- main. + Called from PROJECT_FILE.i:680. +[value] Recording results for e_acsl_assert +[value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:682. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:683. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:669. + Called from PROJECT_FILE.i:684. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:670. + Called from PROJECT_FILE.i:685. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:686. [value] Done for function __gmpz_clear +PROJECT_FILE.i:690:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:678. + Called from PROJECT_FILE.i:697. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:679. + Called from PROJECT_FILE.i:698. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:680. + Called from PROJECT_FILE.i:699. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:704. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:705. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:706. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:682. + Called from PROJECT_FILE.i:708. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:683. + Called from PROJECT_FILE.i:709. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:717. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_init_set_si <- main. + Called from PROJECT_FILE.i:718. +[value] Done for function __gmpz_init_set_si +[value] computing for function __gmpz_cmp <- main. + Called from PROJECT_FILE.i:719. +[value] Done for function __gmpz_cmp +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:721. +[value] Done for function __gmpz_clear +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:722. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:685. + Called from PROJECT_FILE.i:724. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:687. + Called from PROJECT_FILE.i:726. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:688. + Called from PROJECT_FILE.i:727. [value] Done for function __gmpz_clear -PROJECT_FILE.i:692:[value] Assertion got status valid. +PROJECT_FILE.i:731:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:699. + Called from PROJECT_FILE.i:738. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:700. + Called from PROJECT_FILE.i:739. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:701. + Called from PROJECT_FILE.i:740. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:707. + Called from PROJECT_FILE.i:746. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:708. + Called from PROJECT_FILE.i:747. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:709. + Called from PROJECT_FILE.i:748. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:711. + Called from PROJECT_FILE.i:750. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:712. + Called from PROJECT_FILE.i:751. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:718. + Called from PROJECT_FILE.i:757. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:719. + Called from PROJECT_FILE.i:758. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:720. + Called from PROJECT_FILE.i:759. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:722. + Called from PROJECT_FILE.i:761. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:723. + Called from PROJECT_FILE.i:762. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:726. + Called from PROJECT_FILE.i:765. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:728. + Called from PROJECT_FILE.i:767. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:729. + Called from PROJECT_FILE.i:768. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -625,6 +686,11 @@ typedef __mpz_struct mpz_t[1]; /*@ ensures \valid(\old(x)); assigns *x; */ extern void __gmpz_init(__mpz_struct * /*[1]*/ x); +/*@ requires \valid(z_orig); + ensures \valid(\old(z)); + assigns *z; */ +extern void __gmpz_init_set(__mpz_struct * /*[1]*/ z, + __mpz_struct const * /*[1]*/ z_orig); /*@ ensures \valid(\old(z)); assigns *z; assigns *z \from n; */ @@ -671,542 +737,589 @@ int main(void) y = 1; /*@ assert x ≡ 0 ∧ y ≡ 1; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - if (__e_acsl_var_3 == 0) { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)1); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - __e_acsl_var_7 = __e_acsl_var_6 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + if (__e_acsl_3 == 0) { + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)1); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + __e_acsl_7 = __e_acsl_6 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } - else { __e_acsl_var_7 = 0; } - e_acsl_assert(__e_acsl_var_7,(char *)"Assertion", + else { __e_acsl_7 = 0; } + e_acsl_assert(__e_acsl_7,(char *)"Assertion", (char *)"(x == 0 && y == 1)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */ ; { - mpz_t __e_acsl_var_8; - mpz_t __e_acsl_var_9; - int __e_acsl_var_10; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); - __e_acsl_var_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_8), - (__mpz_struct const *)(__e_acsl_var_9)); - if (__e_acsl_var_10 != 0) { - mpz_t __e_acsl_var_11; - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - int __e_acsl_var_14; - mpz_t __e_acsl_var_15; - int __e_acsl_var_16; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)0); - __e_acsl_var_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_15)); + mpz_t __e_acsl_8; + mpz_t __e_acsl_9; + int __e_acsl_10; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)0); + __e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_8), + (__mpz_struct const *)(__e_acsl_9)); + if (__e_acsl_10 != 0) { + mpz_t __e_acsl_11; + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + int __e_acsl_14; + mpz_t __e_acsl_15; + int __e_acsl_16; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)0); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_init((__mpz_struct *)(__e_acsl_15)); /*@ assert 0 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_14 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_14 == 0),(char *)"Assertion", (char *)"(0 == 0)",12); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __e_acsl_var_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_11), - (__mpz_struct const *)(__e_acsl_var_15)); - __e_acsl_var_17 = __e_acsl_var_16 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __e_acsl_16 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_11), + (__mpz_struct const *)(__e_acsl_15)); + __e_acsl_17 = __e_acsl_16 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); } - else { __e_acsl_var_17 = 0; } - e_acsl_assert(! __e_acsl_var_17,(char *)"Assertion", + else { __e_acsl_17 = 0; } + e_acsl_assert(! __e_acsl_17,(char *)"Assertion", (char *)"(!(x != 0 && y == 1/0))",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } /*@ assert y ≡ 1 ∨ x ≡ 1; */ ; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - int __e_acsl_var_20; - int __e_acsl_var_24; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)1); - __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - if (__e_acsl_var_20 == 0) { __e_acsl_var_24 = 1; } + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + int __e_acsl_20; + int __e_acsl_24; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)1); + __e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + if (__e_acsl_20 == 0) { __e_acsl_24 = 1; } else { - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - int __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)1); - __e_acsl_var_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21), - (__mpz_struct const *)(__e_acsl_var_22)); - __e_acsl_var_24 = __e_acsl_var_23 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + int __e_acsl_23; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)1); + __e_acsl_23 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_22)); + __e_acsl_24 = __e_acsl_23 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); } - e_acsl_assert(__e_acsl_var_24,(char *)"Assertion", + e_acsl_assert(__e_acsl_24,(char *)"Assertion", (char *)"(y == 1 || x == 1)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); } /*@ assert x ≡ 0 ∨ y ≡ 1/0; */ ; { - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - int __e_acsl_var_27; - int __e_acsl_var_34; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)0); - __e_acsl_var_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_26)); - if (__e_acsl_var_27 == 0) { __e_acsl_var_34 = 1; } + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + int __e_acsl_27; + int __e_acsl_34; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)0); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_26)); + if (__e_acsl_27 == 0) { __e_acsl_34 = 1; } else { - mpz_t __e_acsl_var_28; - mpz_t __e_acsl_var_29; - mpz_t __e_acsl_var_30; - int __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_29),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)0); - __e_acsl_var_31 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_30)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_32)); + mpz_t __e_acsl_28; + mpz_t __e_acsl_29; + mpz_t __e_acsl_30; + int __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_29),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)0); + __e_acsl_31 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_30)); + __gmpz_init((__mpz_struct *)(__e_acsl_32)); /*@ assert 0 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_31 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_31 == 0),(char *)"Assertion", (char *)"(0 == 0)",14); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_32), - (__mpz_struct const *)(__e_acsl_var_29), - (__mpz_struct const *)(__e_acsl_var_30)); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_32)); - __e_acsl_var_34 = __e_acsl_var_33 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_29)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_32), + (__mpz_struct const *)(__e_acsl_29), + (__mpz_struct const *)(__e_acsl_30)); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_28), + (__mpz_struct const *)(__e_acsl_32)); + __e_acsl_34 = __e_acsl_33 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_29)); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } - e_acsl_assert(__e_acsl_var_34,(char *)"Assertion", + e_acsl_assert(__e_acsl_34,(char *)"Assertion", (char *)"(x == 0 || y == 1/0)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); } /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ; { - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - int __e_acsl_var_37; - int __e_acsl_var_41; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_36),(long)0); - __e_acsl_var_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_35), - (__mpz_struct const *)(__e_acsl_var_36)); - if (! (__e_acsl_var_37 == 0)) { __e_acsl_var_41 = 1; } + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + int __e_acsl_37; + int __e_acsl_41; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_36),(long)0); + __e_acsl_37 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_35), + (__mpz_struct const *)(__e_acsl_36)); + if (! (__e_acsl_37 == 0)) { __e_acsl_41 = 1; } else { - mpz_t __e_acsl_var_38; - mpz_t __e_acsl_var_39; - int __e_acsl_var_40; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_38),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)1); - __e_acsl_var_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_38), - (__mpz_struct const *)(__e_acsl_var_39)); - __e_acsl_var_41 = __e_acsl_var_40 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); + mpz_t __e_acsl_38; + mpz_t __e_acsl_39; + int __e_acsl_40; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_38),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_39),(long)1); + __e_acsl_40 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_38), + (__mpz_struct const *)(__e_acsl_39)); + __e_acsl_41 = __e_acsl_40 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); } - e_acsl_assert(__e_acsl_var_41,(char *)"Assertion", + e_acsl_assert(__e_acsl_41,(char *)"Assertion", (char *)"(x == 0 ==> y == 1)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); } /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */ ; { - mpz_t __e_acsl_var_42; - mpz_t __e_acsl_var_43; - int __e_acsl_var_44; - int __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_42),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_43),(long)1); - __e_acsl_var_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_42), - (__mpz_struct const *)(__e_acsl_var_43)); - if (! (__e_acsl_var_44 == 0)) { __e_acsl_var_51 = 1; } + mpz_t __e_acsl_42; + mpz_t __e_acsl_43; + int __e_acsl_44; + int __e_acsl_51; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_42),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)1); + __e_acsl_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_42), + (__mpz_struct const *)(__e_acsl_43)); + if (! (__e_acsl_44 == 0)) { __e_acsl_51 = 1; } else { - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - mpz_t __e_acsl_var_47; - int __e_acsl_var_48; - mpz_t __e_acsl_var_49; - int __e_acsl_var_50; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_46),(long)1); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_47),(long)0); - __e_acsl_var_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_47)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_49)); + mpz_t __e_acsl_45; + mpz_t __e_acsl_46; + mpz_t __e_acsl_47; + int __e_acsl_48; + mpz_t __e_acsl_49; + int __e_acsl_50; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_45),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_46),(long)1); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_47),(long)0); + __e_acsl_48 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_47)); + __gmpz_init((__mpz_struct *)(__e_acsl_49)); /*@ assert 0 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_48 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_48 == 0),(char *)"Assertion", (char *)"(0 == 0)",16); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_49), - (__mpz_struct const *)(__e_acsl_var_46), - (__mpz_struct const *)(__e_acsl_var_47)); - __e_acsl_var_50 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_45), - (__mpz_struct const *)(__e_acsl_var_49)); - __e_acsl_var_51 = __e_acsl_var_50 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_47)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_49)); + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_49), + (__mpz_struct const *)(__e_acsl_46), + (__mpz_struct const *)(__e_acsl_47)); + __e_acsl_50 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_45), + (__mpz_struct const *)(__e_acsl_49)); + __e_acsl_51 = __e_acsl_50 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_45)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_49)); } - e_acsl_assert(__e_acsl_var_51,(char *)"Assertion", + e_acsl_assert(__e_acsl_51,(char *)"Assertion", (char *)"(x == 1 ==> y == 1/0)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_42)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_42)); + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); } /*@ assert x≢0? x ≢ 0: y ≢ 0; */ ; { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - int __e_acsl_var_54; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_53),(long)0); - __e_acsl_var_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_52), - (__mpz_struct const *)(__e_acsl_var_53)); - if (__e_acsl_var_54 != 0) { - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - int __e_acsl_var_57; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_55),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)0); - __e_acsl_var_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_55), - (__mpz_struct const *)(__e_acsl_var_56)); - __e_acsl_var_61 = __e_acsl_var_57 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); + mpz_t __e_acsl_52; + mpz_t __e_acsl_53; + int __e_acsl_54; + int __e_acsl_61; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_53),(long)0); + __e_acsl_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_52), + (__mpz_struct const *)(__e_acsl_53)); + if (__e_acsl_54 != 0) { + mpz_t __e_acsl_55; + mpz_t __e_acsl_56; + int __e_acsl_57; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_55),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_56),(long)0); + __e_acsl_57 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_55), + (__mpz_struct const *)(__e_acsl_56)); + __e_acsl_61 = __e_acsl_57 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_55)); + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); } else { - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - int __e_acsl_var_60; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_58),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)0); - __e_acsl_var_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __e_acsl_var_60 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); + mpz_t __e_acsl_58; + mpz_t __e_acsl_59; + int __e_acsl_60; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_58),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_59),(long)0); + __e_acsl_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_59)); + __e_acsl_61 = __e_acsl_60 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_59)); } - e_acsl_assert(__e_acsl_var_61,(char *)"Assertion", + e_acsl_assert(__e_acsl_61,(char *)"Assertion", (char *)"(x!=0? x != 0: y != 0)",17); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); } /*@ assert y≢0? y ≢ 0: x ≢ 0; */ ; { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - int __e_acsl_var_64; - int __e_acsl_var_71; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)0); - __e_acsl_var_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_63)); - if (__e_acsl_var_64 != 0) { - mpz_t __e_acsl_var_65; - mpz_t __e_acsl_var_66; - int __e_acsl_var_67; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_66),(long)0); - __e_acsl_var_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_65), - (__mpz_struct const *)(__e_acsl_var_66)); - __e_acsl_var_71 = __e_acsl_var_67 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_66)); + mpz_t __e_acsl_62; + mpz_t __e_acsl_63; + int __e_acsl_64; + int __e_acsl_71; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_62),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)0); + __e_acsl_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_62), + (__mpz_struct const *)(__e_acsl_63)); + if (__e_acsl_64 != 0) { + mpz_t __e_acsl_65; + mpz_t __e_acsl_66; + int __e_acsl_67; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_65),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_66),(long)0); + __e_acsl_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_65), + (__mpz_struct const *)(__e_acsl_66)); + __e_acsl_71 = __e_acsl_67 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_65)); + __gmpz_clear((__mpz_struct *)(__e_acsl_66)); } else { - mpz_t __e_acsl_var_68; - mpz_t __e_acsl_var_69; - int __e_acsl_var_70; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_69),(long)0); - __e_acsl_var_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_68), - (__mpz_struct const *)(__e_acsl_var_69)); - __e_acsl_var_71 = __e_acsl_var_70 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_69)); + mpz_t __e_acsl_68; + mpz_t __e_acsl_69; + int __e_acsl_70; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_68),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_69),(long)0); + __e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_68), + (__mpz_struct const *)(__e_acsl_69)); + __e_acsl_71 = __e_acsl_70 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_68)); + __gmpz_clear((__mpz_struct *)(__e_acsl_69)); } - e_acsl_assert(__e_acsl_var_71,(char *)"Assertion", + e_acsl_assert(__e_acsl_71,(char *)"Assertion", (char *)"(y!=0? y != 0: x != 0)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); + __gmpz_clear((__mpz_struct *)(__e_acsl_62)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); } /*@ assert x≡1? x ≡ 18: x ≡ 0; */ ; { - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - int __e_acsl_var_74; - int __e_acsl_var_81; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_72),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_73),(long)1); - __e_acsl_var_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_72), - (__mpz_struct const *)(__e_acsl_var_73)); - if (__e_acsl_var_74 == 0) { - mpz_t __e_acsl_var_75; - mpz_t __e_acsl_var_76; - int __e_acsl_var_77; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_75),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_76),(long)18); - __e_acsl_var_77 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_75), - (__mpz_struct const *)(__e_acsl_var_76)); - __e_acsl_var_81 = __e_acsl_var_77 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); + mpz_t __e_acsl_72; + mpz_t __e_acsl_73; + int __e_acsl_74; + int __e_acsl_81; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_72),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_73),(long)1); + __e_acsl_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_72), + (__mpz_struct const *)(__e_acsl_73)); + if (__e_acsl_74 == 0) { + mpz_t __e_acsl_75; + mpz_t __e_acsl_76; + int __e_acsl_77; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_75),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_76),(long)18); + __e_acsl_77 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_75), + (__mpz_struct const *)(__e_acsl_76)); + __e_acsl_81 = __e_acsl_77 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_75)); + __gmpz_clear((__mpz_struct *)(__e_acsl_76)); } else { - mpz_t __e_acsl_var_78; - mpz_t __e_acsl_var_79; - int __e_acsl_var_80; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_78),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_79),(long)0); - __e_acsl_var_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_78), - (__mpz_struct const *)(__e_acsl_var_79)); - __e_acsl_var_81 = __e_acsl_var_80 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_78)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); + mpz_t __e_acsl_78; + mpz_t __e_acsl_79; + int __e_acsl_80; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_78),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_79),(long)0); + __e_acsl_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_78), + (__mpz_struct const *)(__e_acsl_79)); + __e_acsl_81 = __e_acsl_80 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_78)); + __gmpz_clear((__mpz_struct *)(__e_acsl_79)); } - e_acsl_assert(__e_acsl_var_81,(char *)"Assertion", + e_acsl_assert(__e_acsl_81,(char *)"Assertion", (char *)"(x==1? x == 18: x == 0)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_73)); } /*@ assert x ≡ 2 ⇔ y ≡ 3; */ ; { - mpz_t __e_acsl_var_82; - mpz_t __e_acsl_var_83; - int __e_acsl_var_84; - int __e_acsl_var_88; - int __e_acsl_var_96; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_82),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_83),(long)2); - __e_acsl_var_84 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_82), - (__mpz_struct const *)(__e_acsl_var_83)); - if (! (__e_acsl_var_84 == 0)) { __e_acsl_var_88 = 1; } + mpz_t __e_acsl_82; + mpz_t __e_acsl_83; + int __e_acsl_84; + int __e_acsl_88; + int __e_acsl_96; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_82),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_83),(long)2); + __e_acsl_84 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_82), + (__mpz_struct const *)(__e_acsl_83)); + if (! (__e_acsl_84 == 0)) { __e_acsl_88 = 1; } else { - mpz_t __e_acsl_var_85; - mpz_t __e_acsl_var_86; - int __e_acsl_var_87; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_85),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_86),(long)3); - __e_acsl_var_87 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_85), - (__mpz_struct const *)(__e_acsl_var_86)); - __e_acsl_var_88 = __e_acsl_var_87 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_85)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_86)); + mpz_t __e_acsl_85; + mpz_t __e_acsl_86; + int __e_acsl_87; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_85),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_86),(long)3); + __e_acsl_87 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_85), + (__mpz_struct const *)(__e_acsl_86)); + __e_acsl_88 = __e_acsl_87 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_85)); + __gmpz_clear((__mpz_struct *)(__e_acsl_86)); } - if (__e_acsl_var_88) { - mpz_t __e_acsl_var_89; - mpz_t __e_acsl_var_90; - int __e_acsl_var_91; - int __e_acsl_var_95; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_89),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_90),(long)3); - __e_acsl_var_91 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_89), - (__mpz_struct const *)(__e_acsl_var_90)); - if (! (__e_acsl_var_91 == 0)) { __e_acsl_var_95 = 1; } + if (__e_acsl_88) { + mpz_t __e_acsl_89; + mpz_t __e_acsl_90; + int __e_acsl_91; + int __e_acsl_95; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_89),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_90),(long)3); + __e_acsl_91 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_89), + (__mpz_struct const *)(__e_acsl_90)); + if (! (__e_acsl_91 == 0)) { __e_acsl_95 = 1; } else { - mpz_t __e_acsl_var_92; - mpz_t __e_acsl_var_93; - int __e_acsl_var_94; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_92),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_93),(long)2); - __e_acsl_var_94 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_92), - (__mpz_struct const *)(__e_acsl_var_93)); - __e_acsl_var_95 = __e_acsl_var_94 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_92)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_93)); + mpz_t __e_acsl_92; + mpz_t __e_acsl_93; + int __e_acsl_94; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_92),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_93),(long)2); + __e_acsl_94 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_92), + (__mpz_struct const *)(__e_acsl_93)); + __e_acsl_95 = __e_acsl_94 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_92)); + __gmpz_clear((__mpz_struct *)(__e_acsl_93)); } - __e_acsl_var_96 = __e_acsl_var_95; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_89)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_90)); + __e_acsl_96 = __e_acsl_95; + __gmpz_clear((__mpz_struct *)(__e_acsl_89)); + __gmpz_clear((__mpz_struct *)(__e_acsl_90)); } - else { __e_acsl_var_96 = 0; } - e_acsl_assert(__e_acsl_var_96,(char *)"Assertion", + else { __e_acsl_96 = 0; } + e_acsl_assert(__e_acsl_96,(char *)"Assertion", (char *)"(x == 2 <==> y == 3)",22); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_83)); + __gmpz_clear((__mpz_struct *)(__e_acsl_82)); + __gmpz_clear((__mpz_struct *)(__e_acsl_83)); } /*@ assert x ≡ 0 ⇔ y ≡ 1; */ ; { - mpz_t __e_acsl_var_97; - mpz_t __e_acsl_var_98; - int __e_acsl_var_99; - int __e_acsl_var_103; - int __e_acsl_var_111; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_97),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_98),(long)0); - __e_acsl_var_99 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_97), - (__mpz_struct const *)(__e_acsl_var_98)); - if (! (__e_acsl_var_99 == 0)) { __e_acsl_var_103 = 1; } + mpz_t __e_acsl_97; + mpz_t __e_acsl_98; + int __e_acsl_99; + int __e_acsl_103; + int __e_acsl_111; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_97),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_98),(long)0); + __e_acsl_99 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_97), + (__mpz_struct const *)(__e_acsl_98)); + if (! (__e_acsl_99 == 0)) { __e_acsl_103 = 1; } else { - mpz_t __e_acsl_var_100; - mpz_t __e_acsl_var_101; - int __e_acsl_var_102; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_100),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_101),(long)1); - __e_acsl_var_102 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_100), - (__mpz_struct const *)(__e_acsl_var_101)); - __e_acsl_var_103 = __e_acsl_var_102 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_100)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_101)); + mpz_t __e_acsl_100; + mpz_t __e_acsl_101; + int __e_acsl_102; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_100),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_101),(long)1); + __e_acsl_102 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_100), + (__mpz_struct const *)(__e_acsl_101)); + __e_acsl_103 = __e_acsl_102 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_100)); + __gmpz_clear((__mpz_struct *)(__e_acsl_101)); } - if (__e_acsl_var_103) { - mpz_t __e_acsl_var_104; - mpz_t __e_acsl_var_105; - int __e_acsl_var_106; - int __e_acsl_var_110; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_104),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_105),(long)1); - __e_acsl_var_106 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_104), - (__mpz_struct const *)(__e_acsl_var_105)); - if (! (__e_acsl_var_106 == 0)) { __e_acsl_var_110 = 1; } + if (__e_acsl_103) { + mpz_t __e_acsl_104; + mpz_t __e_acsl_105; + int __e_acsl_106; + int __e_acsl_110; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_104),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_105),(long)1); + __e_acsl_106 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_104), + (__mpz_struct const *)(__e_acsl_105)); + if (! (__e_acsl_106 == 0)) { __e_acsl_110 = 1; } else { - mpz_t __e_acsl_var_107; - mpz_t __e_acsl_var_108; - int __e_acsl_var_109; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_107),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_108),(long)0); - __e_acsl_var_109 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_107), - (__mpz_struct const *)(__e_acsl_var_108)); - __e_acsl_var_110 = __e_acsl_var_109 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_107)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_108)); + mpz_t __e_acsl_107; + mpz_t __e_acsl_108; + int __e_acsl_109; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_107),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_108),(long)0); + __e_acsl_109 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_107), + (__mpz_struct const *)(__e_acsl_108)); + __e_acsl_110 = __e_acsl_109 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_107)); + __gmpz_clear((__mpz_struct *)(__e_acsl_108)); } - __e_acsl_var_111 = __e_acsl_var_110; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_104)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_105)); + __e_acsl_111 = __e_acsl_110; + __gmpz_clear((__mpz_struct *)(__e_acsl_104)); + __gmpz_clear((__mpz_struct *)(__e_acsl_105)); } - else { __e_acsl_var_111 = 0; } - e_acsl_assert(__e_acsl_var_111,(char *)"Assertion", + else { __e_acsl_111 = 0; } + e_acsl_assert(__e_acsl_111,(char *)"Assertion", (char *)"(x == 0 <==> y == 1)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_97)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_98)); + __gmpz_clear((__mpz_struct *)(__e_acsl_97)); + __gmpz_clear((__mpz_struct *)(__e_acsl_98)); } /*@ assert ((x≢0? x: y)≢0) ≡ (x≡0); */ ; + { + mpz_t __e_acsl_112; + mpz_t __e_acsl_113; + int __e_acsl_114; + mpz_t __e_acsl_117; + int __e_acsl_118; + mpz_t __e_acsl_119; + int __e_acsl_120; + mpz_t __e_acsl_121; + int __e_acsl_122; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_112),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_113),(long)0); + __e_acsl_114 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_112), + (__mpz_struct const *)(__e_acsl_113)); + if (__e_acsl_114 != 0) { + mpz_t __e_acsl_115; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_115),(long)x); + __gmpz_init_set((__mpz_struct *)(__e_acsl_117), + (__mpz_struct const *)(__e_acsl_115)); + __gmpz_clear((__mpz_struct *)(__e_acsl_115)); + } + else { + mpz_t __e_acsl_116; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_116),(long)y); + __gmpz_init_set((__mpz_struct *)(__e_acsl_117), + (__mpz_struct const *)(__e_acsl_116)); + __gmpz_clear((__mpz_struct *)(__e_acsl_116)); + } + __e_acsl_118 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_117), + (__mpz_struct const *)(__e_acsl_113)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_119), + (long)(__e_acsl_118 != 0)); + __e_acsl_120 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_112), + (__mpz_struct const *)(__e_acsl_113)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_121), + (long)(__e_acsl_120 == 0)); + __e_acsl_122 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_119), + (__mpz_struct const *)(__e_acsl_121)); + e_acsl_assert(__e_acsl_122 == 0,(char *)"Assertion", + (char *)"(((x!=0? x: y)!=0) == (x==0))",26); + __gmpz_clear((__mpz_struct *)(__e_acsl_112)); + __gmpz_clear((__mpz_struct *)(__e_acsl_113)); + __gmpz_clear((__mpz_struct *)(__e_acsl_117)); + __gmpz_clear((__mpz_struct *)(__e_acsl_119)); + __gmpz_clear((__mpz_struct *)(__e_acsl_121)); + } + /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */ ; { - mpz_t __e_acsl_var_112; - mpz_t __e_acsl_var_113; - int __e_acsl_var_114; - int __e_acsl_var_118; - int __e_acsl_var_122; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_112),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_113),(long)0); - __e_acsl_var_114 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_112), - (__mpz_struct const *)(__e_acsl_var_113)); - if (__e_acsl_var_114 != 0) { - mpz_t __e_acsl_var_115; - mpz_t __e_acsl_var_116; - int __e_acsl_var_117; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_115),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_116),(long)0); - __e_acsl_var_117 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_115), - (__mpz_struct const *)(__e_acsl_var_116)); - __e_acsl_var_118 = __e_acsl_var_117 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_115)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_116)); + mpz_t __e_acsl_123; + mpz_t __e_acsl_124; + int __e_acsl_125; + int __e_acsl_129; + int __e_acsl_133; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_123),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_124),(long)0); + __e_acsl_125 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_123), + (__mpz_struct const *)(__e_acsl_124)); + if (__e_acsl_125 != 0) { + mpz_t __e_acsl_126; + mpz_t __e_acsl_127; + int __e_acsl_128; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_126),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_127),(long)0); + __e_acsl_128 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_126), + (__mpz_struct const *)(__e_acsl_127)); + __e_acsl_129 = __e_acsl_128 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_126)); + __gmpz_clear((__mpz_struct *)(__e_acsl_127)); } - else { __e_acsl_var_118 = 0; } - if (__e_acsl_var_118) { __e_acsl_var_122 = 1; } + else { __e_acsl_129 = 0; } + if (__e_acsl_129) { __e_acsl_133 = 1; } else { - mpz_t __e_acsl_var_119; - mpz_t __e_acsl_var_120; - int __e_acsl_var_121; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_119),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_120),(long)0); - __e_acsl_var_121 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_119), - (__mpz_struct const *)(__e_acsl_var_120)); - __e_acsl_var_122 = __e_acsl_var_121 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_119)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_120)); + mpz_t __e_acsl_130; + mpz_t __e_acsl_131; + int __e_acsl_132; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_130),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_131),(long)0); + __e_acsl_132 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_130), + (__mpz_struct const *)(__e_acsl_131)); + __e_acsl_133 = __e_acsl_132 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_130)); + __gmpz_clear((__mpz_struct *)(__e_acsl_131)); } - e_acsl_assert(__e_acsl_var_122,(char *)"Assertion", + e_acsl_assert(__e_acsl_133,(char *)"Assertion", (char *)"((x != 0 && y != 0) || y != 0)",27); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_112)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_113)); + __gmpz_clear((__mpz_struct *)(__e_acsl_123)); + __gmpz_clear((__mpz_struct *)(__e_acsl_124)); } /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */ ; { - mpz_t __e_acsl_var_123; - mpz_t __e_acsl_var_124; - int __e_acsl_var_125; - int __e_acsl_var_129; - int __e_acsl_var_133; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_123),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_124),(long)0); - __e_acsl_var_125 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_123), - (__mpz_struct const *)(__e_acsl_var_124)); - if (__e_acsl_var_125 != 0) { __e_acsl_var_129 = 1; } + mpz_t __e_acsl_134; + mpz_t __e_acsl_135; + int __e_acsl_136; + int __e_acsl_140; + int __e_acsl_144; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_134),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_135),(long)0); + __e_acsl_136 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_134), + (__mpz_struct const *)(__e_acsl_135)); + if (__e_acsl_136 != 0) { __e_acsl_140 = 1; } else { - mpz_t __e_acsl_var_126; - mpz_t __e_acsl_var_127; - int __e_acsl_var_128; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_126),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_127),(long)0); - __e_acsl_var_128 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_126), - (__mpz_struct const *)(__e_acsl_var_127)); - __e_acsl_var_129 = __e_acsl_var_128 != 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_126)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_127)); + mpz_t __e_acsl_137; + mpz_t __e_acsl_138; + int __e_acsl_139; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_137),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_138),(long)0); + __e_acsl_139 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_137), + (__mpz_struct const *)(__e_acsl_138)); + __e_acsl_140 = __e_acsl_139 != 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_137)); + __gmpz_clear((__mpz_struct *)(__e_acsl_138)); } - if (__e_acsl_var_129) { - mpz_t __e_acsl_var_130; - mpz_t __e_acsl_var_131; - int __e_acsl_var_132; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_130),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_131),(long)1); - __e_acsl_var_132 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_130), - (__mpz_struct const *)(__e_acsl_var_131)); - __e_acsl_var_133 = __e_acsl_var_132 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_130)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_131)); + if (__e_acsl_140) { + mpz_t __e_acsl_141; + mpz_t __e_acsl_142; + int __e_acsl_143; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_141),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_142),(long)1); + __e_acsl_143 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_141), + (__mpz_struct const *)(__e_acsl_142)); + __e_acsl_144 = __e_acsl_143 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_141)); + __gmpz_clear((__mpz_struct *)(__e_acsl_142)); } - else { __e_acsl_var_133 = 0; } - e_acsl_assert(__e_acsl_var_133,(char *)"Assertion", + else { __e_acsl_144 = 0; } + e_acsl_assert(__e_acsl_144,(char *)"Assertion", (char *)"((x != 0 || y != 0) && y == 1)",28); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_123)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_124)); + __gmpz_clear((__mpz_struct *)(__e_acsl_134)); + __gmpz_clear((__mpz_struct *)(__e_acsl_135)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle index 4008dc6b905a9957960cb9b665bd8b56c687af2d..1cebc14e0c6cf811c3cbb1112252698b7d044eb4 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle @@ -50,27 +50,27 @@ PROJECT_FILE.i:322:[value] Assertion got status unknown. [value] Done for function e_acsl_assert PROJECT_FILE.i:330:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:343. + Called from PROJECT_FILE.i:342. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:347:[value] Assertion got status valid. +PROJECT_FILE.i:346:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:360. + Called from PROJECT_FILE.i:358. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:364:[value] Assertion got status valid. +PROJECT_FILE.i:362:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:368. + Called from PROJECT_FILE.i:366. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:373:[value] Assertion got status valid. +PROJECT_FILE.i:371:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:381. + Called from PROJECT_FILE.i:378. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert -PROJECT_FILE.i:386:[value] Assertion got status valid. +PROJECT_FILE.i:383:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:394. + Called from PROJECT_FILE.i:390. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] Recording results for main @@ -107,161 +107,157 @@ int main(void) x = 0; y = 1; /*@ assert x ≡ 0 ∧ y ≡ 1; */ ; - { int __e_acsl_var; - if (x == 0) { __e_acsl_var = y == 1; } - else { __e_acsl_var = 0; } - e_acsl_assert(__e_acsl_var,(char *)"Assertion", - (char *)"(x == 0 && y == 1)",11); + { int __e_acsl; + if (x == 0) { __e_acsl = y == 1; } + else { __e_acsl = 0; } + e_acsl_assert(__e_acsl,(char *)"Assertion",(char *)"(x == 0 && y == 1)", + 11); } /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */ ; { - int __e_acsl_var_3; + int __e_acsl_3; if (x != 0) { - int __e_acsl_var_2; + int __e_acsl_2; /*@ assert 0 ≢ 0; */ ; e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",12); - __e_acsl_var_2 = 1 / 0; - __e_acsl_var_3 = y == __e_acsl_var_2; + __e_acsl_2 = 1 / 0; + __e_acsl_3 = y == __e_acsl_2; } - else { __e_acsl_var_3 = 0; } - e_acsl_assert(! __e_acsl_var_3,(char *)"Assertion", + else { __e_acsl_3 = 0; } + e_acsl_assert(! __e_acsl_3,(char *)"Assertion", (char *)"(!(x != 0 && y == 1/0))",12); } /*@ assert y ≡ 1 ∨ x ≡ 1; */ ; - { int __e_acsl_var_4; - if (y == 1) { __e_acsl_var_4 = 1; } - else { __e_acsl_var_4 = x == 1; } - e_acsl_assert(__e_acsl_var_4,(char *)"Assertion", + { int __e_acsl_4; + if (y == 1) { __e_acsl_4 = 1; } + else { __e_acsl_4 = x == 1; } + e_acsl_assert(__e_acsl_4,(char *)"Assertion", (char *)"(y == 1 || x == 1)",13); } /*@ assert x ≡ 0 ∨ y ≡ 1/0; */ ; { - int __e_acsl_var_6; - if (x == 0) { __e_acsl_var_6 = 1; } + int __e_acsl_6; + if (x == 0) { __e_acsl_6 = 1; } else { - int __e_acsl_var_5; + int __e_acsl_5; /*@ assert 0 ≢ 0; */ ; e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",14); - __e_acsl_var_5 = 1 / 0; - __e_acsl_var_6 = y == __e_acsl_var_5; + __e_acsl_5 = 1 / 0; + __e_acsl_6 = y == __e_acsl_5; } - e_acsl_assert(__e_acsl_var_6,(char *)"Assertion", + e_acsl_assert(__e_acsl_6,(char *)"Assertion", (char *)"(x == 0 || y == 1/0)",14); } /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ; - { int __e_acsl_var_7; - if (! (x == 0)) { __e_acsl_var_7 = 1; } - else { __e_acsl_var_7 = y == 1; } - e_acsl_assert(__e_acsl_var_7,(char *)"Assertion", + { int __e_acsl_7; + if (! (x == 0)) { __e_acsl_7 = 1; } + else { __e_acsl_7 = y == 1; } + e_acsl_assert(__e_acsl_7,(char *)"Assertion", (char *)"(x == 0 ==> y == 1)",15); } /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */ ; { - int __e_acsl_var_9; - if (! (x == 1)) { __e_acsl_var_9 = 1; } + int __e_acsl_9; + if (! (x == 1)) { __e_acsl_9 = 1; } else { - int __e_acsl_var_8; + int __e_acsl_8; /*@ assert 0 ≢ 0; */ ; e_acsl_assert(! (0 == 0),(char *)"Assertion",(char *)"(0 == 0)",16); - __e_acsl_var_8 = 1 / 0; - __e_acsl_var_9 = y == __e_acsl_var_8; + __e_acsl_8 = 1 / 0; + __e_acsl_9 = y == __e_acsl_8; } - e_acsl_assert(__e_acsl_var_9,(char *)"Assertion", + e_acsl_assert(__e_acsl_9,(char *)"Assertion", (char *)"(x == 1 ==> y == 1/0)",16); } /*@ assert x≢0? x ≢ 0: y ≢ 0; */ ; - { int __e_acsl_var_10; - if (x != 0) { __e_acsl_var_10 = x != 0; } - else { __e_acsl_var_10 = y != 0; } - e_acsl_assert(__e_acsl_var_10,(char *)"Assertion", + { int __e_acsl_10; + if (x != 0) { __e_acsl_10 = x != 0; } + else { __e_acsl_10 = y != 0; } + e_acsl_assert(__e_acsl_10,(char *)"Assertion", (char *)"(x!=0? x != 0: y != 0)",17); } /*@ assert y≢0? y ≢ 0: x ≢ 0; */ ; - { int __e_acsl_var_11; - if (y != 0) { __e_acsl_var_11 = y != 0; } - else { __e_acsl_var_11 = x != 0; } - e_acsl_assert(__e_acsl_var_11,(char *)"Assertion", + { int __e_acsl_11; + if (y != 0) { __e_acsl_11 = y != 0; } + else { __e_acsl_11 = x != 0; } + e_acsl_assert(__e_acsl_11,(char *)"Assertion", (char *)"(y!=0? y != 0: x != 0)",18); } /*@ assert x≡1? x ≡ 18: x ≡ 0; */ ; - { int __e_acsl_var_12; - if (x == 1) { __e_acsl_var_12 = x == 18; } - else { __e_acsl_var_12 = x == 0; } - e_acsl_assert(__e_acsl_var_12,(char *)"Assertion", + { int __e_acsl_12; + if (x == 1) { __e_acsl_12 = x == 18; } + else { __e_acsl_12 = x == 0; } + e_acsl_assert(__e_acsl_12,(char *)"Assertion", (char *)"(x==1? x == 18: x == 0)",19); } /*@ assert x ≡ 2 ⇔ y ≡ 3; */ ; - { - int __e_acsl_var_13; - int __e_acsl_var_15; - if (! (x == 2)) { __e_acsl_var_13 = 1; } - else { __e_acsl_var_13 = y == 3; } - if (__e_acsl_var_13) { - int __e_acsl_var_14; - if (! (y == 3)) { __e_acsl_var_14 = 1; } - else { __e_acsl_var_14 = x == 2; } - __e_acsl_var_15 = __e_acsl_var_14; + { int __e_acsl_13; + int __e_acsl_15; + if (! (x == 2)) { __e_acsl_13 = 1; } + else { __e_acsl_13 = y == 3; } + if (__e_acsl_13) { + int __e_acsl_14; + if (! (y == 3)) { __e_acsl_14 = 1; } + else { __e_acsl_14 = x == 2; } + __e_acsl_15 = __e_acsl_14; } - else { __e_acsl_var_15 = 0; } - e_acsl_assert(__e_acsl_var_15,(char *)"Assertion", + else { __e_acsl_15 = 0; } + e_acsl_assert(__e_acsl_15,(char *)"Assertion", (char *)"(x == 2 <==> y == 3)",22); } /*@ assert x ≡ 0 ⇔ y ≡ 1; */ ; - { - int __e_acsl_var_16; - int __e_acsl_var_18; - if (! (x == 0)) { __e_acsl_var_16 = 1; } - else { __e_acsl_var_16 = y == 1; } - if (__e_acsl_var_16) { - int __e_acsl_var_17; - if (! (y == 1)) { __e_acsl_var_17 = 1; } - else { __e_acsl_var_17 = x == 0; } - __e_acsl_var_18 = __e_acsl_var_17; + { int __e_acsl_16; + int __e_acsl_18; + if (! (x == 0)) { __e_acsl_16 = 1; } + else { __e_acsl_16 = y == 1; } + if (__e_acsl_16) { + int __e_acsl_17; + if (! (y == 1)) { __e_acsl_17 = 1; } + else { __e_acsl_17 = x == 0; } + __e_acsl_18 = __e_acsl_17; } - else { __e_acsl_var_18 = 0; } - e_acsl_assert(__e_acsl_var_18,(char *)"Assertion", + else { __e_acsl_18 = 0; } + e_acsl_assert(__e_acsl_18,(char *)"Assertion", (char *)"(x == 0 <==> y == 1)",23); } /*@ assert ((x≢0? x: y)≢0) ≡ (x≡0); */ ; - { int __e_acsl_var_19; - if (x != 0) { __e_acsl_var_19 = x; } - else { __e_acsl_var_19 = y; } - e_acsl_assert((__e_acsl_var_19 != 0) == (x == 0),(char *)"Assertion", + { int __e_acsl_19; + if (x != 0) { __e_acsl_19 = x; } + else { __e_acsl_19 = y; } + e_acsl_assert((__e_acsl_19 != 0) == (x == 0),(char *)"Assertion", (char *)"(((x!=0? x: y)!=0) == (x==0))",26); } /*@ assert (x ≢ 0 ∧ y ≢ 0) ∨ y ≢ 0; */ ; - { - int __e_acsl_var_20; - int __e_acsl_var_21; - if (x != 0) { __e_acsl_var_20 = y != 0; } - else { __e_acsl_var_20 = 0; } - if (__e_acsl_var_20) { __e_acsl_var_21 = 1; } - else { __e_acsl_var_21 = y != 0; } - e_acsl_assert(__e_acsl_var_21,(char *)"Assertion", + { int __e_acsl_20; + int __e_acsl_21; + if (x != 0) { __e_acsl_20 = y != 0; } + else { __e_acsl_20 = 0; } + if (__e_acsl_20) { __e_acsl_21 = 1; } + else { __e_acsl_21 = y != 0; } + e_acsl_assert(__e_acsl_21,(char *)"Assertion", (char *)"((x != 0 && y != 0) || y != 0)",27); } /*@ assert (x ≢ 0 ∨ y ≢ 0) ∧ y ≡ 1; */ ; - { - int __e_acsl_var_22; - int __e_acsl_var_23; - if (x != 0) { __e_acsl_var_22 = 1; } - else { __e_acsl_var_22 = y != 0; } - if (__e_acsl_var_22) { __e_acsl_var_23 = y == 1; } - else { __e_acsl_var_23 = 0; } - e_acsl_assert(__e_acsl_var_23,(char *)"Assertion", + { int __e_acsl_22; + int __e_acsl_23; + if (x != 0) { __e_acsl_22 = 1; } + else { __e_acsl_22 = y != 0; } + if (__e_acsl_22) { __e_acsl_23 = y == 1; } + else { __e_acsl_23 = 0; } + e_acsl_assert(__e_acsl_23,(char *)"Assertion", (char *)"((x != 0 || y != 0) && y == 1)",28); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle index 081c6fe342cce706e1d010f479d73aa3dbdb81aa..e3b39fa894ffabf1187f5e457b050d1c9a00b9cb 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.1.res.oracle @@ -10,10 +10,10 @@ tests/e-acsl-runtime/linear_search.i:14:[e-acsl] warning: missing guard for ensu [value] Initial state computed [value] Values of globals at initialization A[0..9] ∈ {0} -PROJECT_FILE.i:489:[value] entering loop for the first time -PROJECT_FILE.i:492:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:488:[value] entering loop for the first time +PROJECT_FILE.i:491:[value] assigning non deterministic value for the first time [value] computing for function search <- main. - Called from PROJECT_FILE.i:495. + Called from PROJECT_FILE.i:494. PROJECT_FILE.i:231:[value] Function search: precondition got status unknown. [value] computing for function __gmpz_init <- search <- main. Called from PROJECT_FILE.i:252. @@ -42,38 +42,41 @@ PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid. PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:268. + Called from PROJECT_FILE.i:267. [value] Done for function __gmpz_clear [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:279. + Called from PROJECT_FILE.i:278. PROJECT_FILE.i:180:[value] Function __gmpz_get_ui: precondition got status valid. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:280:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_2 < 10; +PROJECT_FILE.i:279:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_2 < 10; [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:280. + Called from PROJECT_FILE.i:279. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:281. + Called from PROJECT_FILE.i:280. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:282. + Called from PROJECT_FILE.i:281. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:283. + Called from PROJECT_FILE.i:282. PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid. PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid. PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid. [value] Done for function __gmpz_add [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:284. + Called from PROJECT_FILE.i:283. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:285:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_6 < 10; +PROJECT_FILE.i:284:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_6 < 10; [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:285. + Called from PROJECT_FILE.i:284. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:285. [value] Done for function __gmpz_cmp +[value] computing for function __gmpz_clear <- search <- main. + Called from PROJECT_FILE.i:286. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. Called from PROJECT_FILE.i:287. [value] Done for function __gmpz_clear @@ -83,196 +86,193 @@ PROJECT_FILE.i:285:[kernel] warning: accessing out of bounds index [0..429496729 [value] computing for function __gmpz_clear <- search <- main. Called from PROJECT_FILE.i:289. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:290. -[value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:300. + Called from PROJECT_FILE.i:299. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:301. + Called from PROJECT_FILE.i:300. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:302. + Called from PROJECT_FILE.i:301. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:303. + Called from PROJECT_FILE.i:302. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:304. + Called from PROJECT_FILE.i:303. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:305. + Called from PROJECT_FILE.i:304. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:310. + Called from PROJECT_FILE.i:309. PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:313. + Called from PROJECT_FILE.i:312. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:317. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:321. + Called from PROJECT_FILE.i:320. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:322. + Called from PROJECT_FILE.i:321. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:322. [value] Done for function __gmpz_clear -PROJECT_FILE.i:326:[value] entering loop for the first time +PROJECT_FILE.i:325:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:330. + Called from PROJECT_FILE.i:329. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:331. + Called from PROJECT_FILE.i:330. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:334. + Called from PROJECT_FILE.i:333. [value] Done for function __gmpz_clear [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:342. + Called from PROJECT_FILE.i:341. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:343:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_30 < 10; +PROJECT_FILE.i:342:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_30 < 10; [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:343. + Called from PROJECT_FILE.i:342. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:344. + Called from PROJECT_FILE.i:343. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:345. + Called from PROJECT_FILE.i:344. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:346. + Called from PROJECT_FILE.i:345. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:347. + Called from PROJECT_FILE.i:346. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:357. + Called from PROJECT_FILE.i:356. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:358. + Called from PROJECT_FILE.i:357. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:359. + Called from PROJECT_FILE.i:358. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:360. + Called from PROJECT_FILE.i:359. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:361. + Called from PROJECT_FILE.i:360. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:362. + Called from PROJECT_FILE.i:361. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:368. + Called from PROJECT_FILE.i:367. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:375. + Called from PROJECT_FILE.i:374. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:378. + Called from PROJECT_FILE.i:377. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:379. + Called from PROJECT_FILE.i:378. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:380. + Called from PROJECT_FILE.i:379. [value] Done for function __gmpz_clear -PROJECT_FILE.i:383:[value] entering loop for the first time +PROJECT_FILE.i:382:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:387. + Called from PROJECT_FILE.i:386. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:388. + Called from PROJECT_FILE.i:387. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:391. + Called from PROJECT_FILE.i:390. [value] Done for function __gmpz_clear [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:399. + Called from PROJECT_FILE.i:398. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:400:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_15 < 10; +PROJECT_FILE.i:399:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_15 < 10; [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:400. + Called from PROJECT_FILE.i:399. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:401. + Called from PROJECT_FILE.i:400. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:402. + Called from PROJECT_FILE.i:401. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:403. + Called from PROJECT_FILE.i:402. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:404. + Called from PROJECT_FILE.i:403. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:414. + Called from PROJECT_FILE.i:413. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:415. + Called from PROJECT_FILE.i:414. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:416. + Called from PROJECT_FILE.i:415. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:417. + Called from PROJECT_FILE.i:416. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:418. + Called from PROJECT_FILE.i:417. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:419. + Called from PROJECT_FILE.i:418. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:425. + Called from PROJECT_FILE.i:424. [value] Done for function __gmpz_clear -PROJECT_FILE.i:431:[value] entering loop for the first time +PROJECT_FILE.i:430:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:453. + Called from PROJECT_FILE.i:452. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:454. + Called from PROJECT_FILE.i:453. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:455. + Called from PROJECT_FILE.i:454. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:457. + Called from PROJECT_FILE.i:456. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:458. + Called from PROJECT_FILE.i:457. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:460. + Called from PROJECT_FILE.i:459. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:468. + Called from PROJECT_FILE.i:467. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:469. + Called from PROJECT_FILE.i:468. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:470. + Called from PROJECT_FILE.i:469. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:472. + Called from PROJECT_FILE.i:471. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:473. + Called from PROJECT_FILE.i:472. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:475. + Called from PROJECT_FILE.i:474. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert PROJECT_FILE.i:234:[value] Function search, behavior exists: postcondition got status unknown. @@ -281,28 +281,28 @@ PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition g PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition got status unknown, but it is unknown if the behavior is active. [value] Recording results for search [value] Done for function search -PROJECT_FILE.i:496:[value] Assertion got status unknown. +PROJECT_FILE.i:495:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:501. + Called from PROJECT_FILE.i:500. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:502. + Called from PROJECT_FILE.i:501. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:503. + Called from PROJECT_FILE.i:502. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:504. + Called from PROJECT_FILE.i:503. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:505. + Called from PROJECT_FILE.i:504. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:506. + Called from PROJECT_FILE.i:505. [value] Done for function __gmpz_clear [value] computing for function search <- main. - Called from PROJECT_FILE.i:510. + Called from PROJECT_FILE.i:509. [value] computing for function __gmpz_init <- search <- main. Called from PROJECT_FILE.i:252. [value] Done for function __gmpz_init @@ -322,34 +322,37 @@ PROJECT_FILE.i:496:[value] Assertion got status unknown. Called from PROJECT_FILE.i:265. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:268. + Called from PROJECT_FILE.i:267. [value] Done for function __gmpz_clear [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:279. + Called from PROJECT_FILE.i:278. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:280:[value] Assertion got status unknown. +PROJECT_FILE.i:279:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:280. + Called from PROJECT_FILE.i:279. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:281. + Called from PROJECT_FILE.i:280. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:282. + Called from PROJECT_FILE.i:281. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:283. + Called from PROJECT_FILE.i:282. [value] Done for function __gmpz_add [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:284. + Called from PROJECT_FILE.i:283. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:285:[value] Assertion got status unknown. +PROJECT_FILE.i:284:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:285. + Called from PROJECT_FILE.i:284. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:285. [value] Done for function __gmpz_cmp +[value] computing for function __gmpz_clear <- search <- main. + Called from PROJECT_FILE.i:286. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. Called from PROJECT_FILE.i:287. [value] Done for function __gmpz_clear @@ -359,215 +362,212 @@ PROJECT_FILE.i:285:[value] Assertion got status unknown. [value] computing for function __gmpz_clear <- search <- main. Called from PROJECT_FILE.i:289. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:290. -[value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:300. + Called from PROJECT_FILE.i:299. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:301. + Called from PROJECT_FILE.i:300. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:302. + Called from PROJECT_FILE.i:301. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:303. + Called from PROJECT_FILE.i:302. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:304. + Called from PROJECT_FILE.i:303. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:305. + Called from PROJECT_FILE.i:304. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:310. + Called from PROJECT_FILE.i:309. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:313. + Called from PROJECT_FILE.i:312. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:317. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:321. + Called from PROJECT_FILE.i:320. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:322. + Called from PROJECT_FILE.i:321. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:322. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:330. + Called from PROJECT_FILE.i:329. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:331. + Called from PROJECT_FILE.i:330. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:334. + Called from PROJECT_FILE.i:333. [value] Done for function __gmpz_clear [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:342. + Called from PROJECT_FILE.i:341. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:343:[value] Assertion got status unknown. +PROJECT_FILE.i:342:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:343. + Called from PROJECT_FILE.i:342. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:344. + Called from PROJECT_FILE.i:343. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:345. + Called from PROJECT_FILE.i:344. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:346. + Called from PROJECT_FILE.i:345. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:347. + Called from PROJECT_FILE.i:346. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:357. + Called from PROJECT_FILE.i:356. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:358. + Called from PROJECT_FILE.i:357. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:359. + Called from PROJECT_FILE.i:358. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:360. + Called from PROJECT_FILE.i:359. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:361. + Called from PROJECT_FILE.i:360. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:362. + Called from PROJECT_FILE.i:361. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:368. + Called from PROJECT_FILE.i:367. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:375. + Called from PROJECT_FILE.i:374. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:378. + Called from PROJECT_FILE.i:377. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:379. + Called from PROJECT_FILE.i:378. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:380. + Called from PROJECT_FILE.i:379. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:387. + Called from PROJECT_FILE.i:386. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:388. + Called from PROJECT_FILE.i:387. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:391. + Called from PROJECT_FILE.i:390. [value] Done for function __gmpz_clear [value] computing for function __gmpz_get_ui <- search <- main. - Called from PROJECT_FILE.i:399. + Called from PROJECT_FILE.i:398. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:400:[value] Assertion got status unknown. +PROJECT_FILE.i:399:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:400. + Called from PROJECT_FILE.i:399. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:401. + Called from PROJECT_FILE.i:400. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:402. + Called from PROJECT_FILE.i:401. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:403. + Called from PROJECT_FILE.i:402. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:404. + Called from PROJECT_FILE.i:403. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:414. + Called from PROJECT_FILE.i:413. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- search <- main. - Called from PROJECT_FILE.i:415. + Called from PROJECT_FILE.i:414. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- search <- main. - Called from PROJECT_FILE.i:416. + Called from PROJECT_FILE.i:415. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- search <- main. - Called from PROJECT_FILE.i:417. + Called from PROJECT_FILE.i:416. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:418. + Called from PROJECT_FILE.i:417. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:419. + Called from PROJECT_FILE.i:418. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:425. + Called from PROJECT_FILE.i:424. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:453. + Called from PROJECT_FILE.i:452. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:454. + Called from PROJECT_FILE.i:453. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:455. + Called from PROJECT_FILE.i:454. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:457. + Called from PROJECT_FILE.i:456. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:458. + Called from PROJECT_FILE.i:457. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:460. + Called from PROJECT_FILE.i:459. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:468. + Called from PROJECT_FILE.i:467. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- search <- main. - Called from PROJECT_FILE.i:469. + Called from PROJECT_FILE.i:468. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- search <- main. - Called from PROJECT_FILE.i:470. + Called from PROJECT_FILE.i:469. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:472. + Called from PROJECT_FILE.i:471. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- search <- main. - Called from PROJECT_FILE.i:473. + Called from PROJECT_FILE.i:472. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:475. + Called from PROJECT_FILE.i:474. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] Recording results for search [value] Done for function search -PROJECT_FILE.i:511:[value] Assertion got status unknown. +PROJECT_FILE.i:510:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:516. + Called from PROJECT_FILE.i:515. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:517. + Called from PROJECT_FILE.i:516. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:518. + Called from PROJECT_FILE.i:517. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:519. + Called from PROJECT_FILE.i:518. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:520. + Called from PROJECT_FILE.i:519. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:521. + Called from PROJECT_FILE.i:520. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -576,8 +576,8 @@ PROJECT_FILE.i:511:[value] Assertion got status unknown. [value] Values at end of function search: __retres ∈ {0; 1} k ∈ [0..10] - __e_acsl_var_24 ∈ {0; 1} - __e_acsl_var_39 ∈ {0; 1} + __e_acsl_24 ∈ {0; 1} + __e_acsl_39 ∈ {0; 1} [value] Values at end of function main: A[0..9] ∈ [0..81] __retres ∈ {0} @@ -654,220 +654,214 @@ int search(int elt) { int __retres; int k; - int __e_acsl_var_24; - int __e_acsl_var_39; + int __e_acsl_24; + int __e_acsl_39; { - int __e_acsl_var; + int __e_acsl; mpz_t __e_acsl_i; - __e_acsl_var = 1; + __e_acsl = 1; __gmpz_init((__mpz_struct *)(__e_acsl_i)); { - mpz_t __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)0); + mpz_t __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_i), - (__mpz_struct const *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); + (__mpz_struct const *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); } while (1) { { - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)9); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i), - (__mpz_struct const *)(__e_acsl_var_10)); - if (! (__e_acsl_var_11 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_10; + int __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)9); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_i), + (__mpz_struct const *)(__e_acsl_10)); + if (! (__e_acsl_11 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); } { - unsigned long __e_acsl_var_2; - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - unsigned long __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __e_acsl_var_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i)); - /*@ assert __e_acsl_var_2 < 10; + unsigned long __e_acsl_2; + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + unsigned long __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __e_acsl_2 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_i)); + /*@ assert __e_acsl_2 < 10; // synthesized */ - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3), - (long)A[__e_acsl_var_2]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_5), + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)A[__e_acsl_2]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_5)); + __gmpz_add((__mpz_struct *)(__e_acsl_5), (__mpz_struct const *)(__e_acsl_i), - (__mpz_struct const *)(__e_acsl_var_4)); - __e_acsl_var_6 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_5)); - /*@ assert __e_acsl_var_6 < 10; + (__mpz_struct const *)(__e_acsl_4)); + __e_acsl_6 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_5)); + /*@ assert __e_acsl_6 < 10; // synthesized */ - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7), - (long)A[__e_acsl_var_6]); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - if (! (__e_acsl_var_8 <= 0)) { - __e_acsl_var = 0; - goto e_acsl_end_loop1; - } + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)A[__e_acsl_6]); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + if (! (__e_acsl_8 <= 0)) { + __e_acsl = 0; + goto e_acsl_end_loop1; } } { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_13), + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_13)); + __gmpz_add((__mpz_struct *)(__e_acsl_13), (__mpz_struct const *)(__e_acsl_i), - (__mpz_struct const *)(__e_acsl_var_12)); + (__mpz_struct const *)(__e_acsl_12)); __gmpz_set((__mpz_struct *)(__e_acsl_i), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); } } e_acsl_end_loop1: ; - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(\\forall integer i; 0 <= i && i < 9 ==> A[i] <= A[i+1])", 9); __gmpz_clear((__mpz_struct *)(__e_acsl_i)); { - int __e_acsl_var_29; + int __e_acsl_29; mpz_t __e_acsl_j_2; - __e_acsl_var_29 = 1; + __e_acsl_29 = 1; __gmpz_init((__mpz_struct *)(__e_acsl_j_2)); { - mpz_t __e_acsl_var_34; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34),(long)0); + mpz_t __e_acsl_34; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_j_2), - (__mpz_struct const *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); + (__mpz_struct const *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); } while (1) { { - mpz_t __e_acsl_var_35; - int __e_acsl_var_36; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)10); - __e_acsl_var_36 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_2), - (__mpz_struct const *)(__e_acsl_var_35)); - if (! (__e_acsl_var_36 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); + mpz_t __e_acsl_35; + int __e_acsl_36; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)10); + __e_acsl_36 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j_2), + (__mpz_struct const *)(__e_acsl_35)); + if (! (__e_acsl_36 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); } { - unsigned long __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __e_acsl_var_30 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j_2)); - /*@ assert __e_acsl_var_30 < 10; + unsigned long __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __e_acsl_30 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j_2)); + /*@ assert __e_acsl_30 < 10; // synthesized */ - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31), - (long)A[__e_acsl_var_30]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_32),(long)elt); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_32)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); - if (! (__e_acsl_var_33 != 0)) { - __e_acsl_var_29 = 0; - goto e_acsl_end_loop3; - } + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31), + (long)A[__e_acsl_30]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_32),(long)elt); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); + if (! (__e_acsl_33 != 0)) { + __e_acsl_29 = 0; + goto e_acsl_end_loop3; } } { - mpz_t __e_acsl_var_37; - mpz_t __e_acsl_var_38; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_37), - (long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_38)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_38), + mpz_t __e_acsl_37; + mpz_t __e_acsl_38; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_37),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_38)); + __gmpz_add((__mpz_struct *)(__e_acsl_38), (__mpz_struct const *)(__e_acsl_j_2), - (__mpz_struct const *)(__e_acsl_var_37)); + (__mpz_struct const *)(__e_acsl_37)); __gmpz_set((__mpz_struct *)(__e_acsl_j_2), - (__mpz_struct const *)(__e_acsl_var_38)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_37)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); + (__mpz_struct const *)(__e_acsl_38)); + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); } } e_acsl_end_loop3: ; - __e_acsl_var_39 = __e_acsl_var_29; + __e_acsl_39 = __e_acsl_29; __gmpz_clear((__mpz_struct *)(__e_acsl_j_2)); } { - int __e_acsl_var_14; + int __e_acsl_14; mpz_t __e_acsl_j; - __e_acsl_var_14 = 0; + __e_acsl_14 = 0; __gmpz_init((__mpz_struct *)(__e_acsl_j)); { - mpz_t __e_acsl_var_19; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)0); + mpz_t __e_acsl_19; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_j), - (__mpz_struct const *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); + (__mpz_struct const *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); } while (1) { { - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)10); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j), - (__mpz_struct const *)(__e_acsl_var_20)); - if (! (__e_acsl_var_21 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + mpz_t __e_acsl_20; + int __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)10); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_j), + (__mpz_struct const *)(__e_acsl_20)); + if (! (__e_acsl_21 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); } { - unsigned long __e_acsl_var_15; - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - int __e_acsl_var_18; - __e_acsl_var_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j)); - /*@ assert __e_acsl_var_15 < 10; + unsigned long __e_acsl_15; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; + __e_acsl_15 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_j)); + /*@ assert __e_acsl_15 < 10; // synthesized */ - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16), - (long)A[__e_acsl_var_15]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)elt); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_17)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); - if (! (! (__e_acsl_var_18 == 0))) { - __e_acsl_var_14 = 1; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16), + (long)A[__e_acsl_15]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)elt); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); + if (! (! (__e_acsl_18 == 0))) { + __e_acsl_14 = 1; goto e_acsl_end_loop2; } } { - mpz_t __e_acsl_var_22; - mpz_t __e_acsl_var_23; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22), - (long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_23), + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_23)); + __gmpz_add((__mpz_struct *)(__e_acsl_23), (__mpz_struct const *)(__e_acsl_j), - (__mpz_struct const *)(__e_acsl_var_22)); + (__mpz_struct const *)(__e_acsl_22)); __gmpz_set((__mpz_struct *)(__e_acsl_j), - (__mpz_struct const *)(__e_acsl_var_23)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); + (__mpz_struct const *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); } } e_acsl_end_loop2: ; - __e_acsl_var_24 = __e_acsl_var_14; + __e_acsl_24 = __e_acsl_14; __gmpz_clear((__mpz_struct *)(__e_acsl_j)); } @@ -888,38 +882,38 @@ int search(int elt) __retres = 0; return_label: { - int __e_acsl_var_28; - int __e_acsl_var_43; - if (! __e_acsl_var_24) { __e_acsl_var_28 = 1; } + int __e_acsl_28; + int __e_acsl_43; + if (! __e_acsl_24) { __e_acsl_28 = 1; } else { - mpz_t __e_acsl_var_25; - mpz_t __e_acsl_var_26; - int __e_acsl_var_27; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)__retres); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)1); - __e_acsl_var_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_26)); - __e_acsl_var_28 = __e_acsl_var_27 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); + mpz_t __e_acsl_25; + mpz_t __e_acsl_26; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)__retres); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)1); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_26)); + __e_acsl_28 = __e_acsl_27 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); } - e_acsl_assert(__e_acsl_var_28,(char *)"Postcondition", + e_acsl_assert(__e_acsl_28,(char *)"Postcondition", (char *)"(\\old(\\exists integer j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)", 12); - if (! __e_acsl_var_39) { __e_acsl_var_43 = 1; } + if (! __e_acsl_39) { __e_acsl_43 = 1; } else { - mpz_t __e_acsl_var_40; - mpz_t __e_acsl_var_41; - int __e_acsl_var_42; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)__retres); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_41),(long)0); - __e_acsl_var_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_40), - (__mpz_struct const *)(__e_acsl_var_41)); - __e_acsl_var_43 = __e_acsl_var_42 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_40)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); + mpz_t __e_acsl_40; + mpz_t __e_acsl_41; + int __e_acsl_42; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)__retres); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_41),(long)0); + __e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_40), + (__mpz_struct const *)(__e_acsl_41)); + __e_acsl_43 = __e_acsl_42 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); } - e_acsl_assert(__e_acsl_var_43,(char *)"Postcondition", + e_acsl_assert(__e_acsl_43,(char *)"Postcondition", (char *)"(\\old(\\forall integer j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)", 15); return (__retres); @@ -941,33 +935,33 @@ int main(void) found = search(36); /*@ assert found ≡ 1; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)found); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", - (char *)"(found == 1)",31); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)found); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(found == 1)", + 31); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } found = search(5); /*@ assert found ≡ 0; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)found); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", - (char *)"(found == 0)",34); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)found); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion",(char *)"(found == 0)", + 34); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle index 87caae80d6d6699686a1f63ba239814efa7d0940..a75c4d02ec138bd461dae84e9a2a01323a7f1a81 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/linear_search.res.oracle @@ -7,10 +7,10 @@ tests/e-acsl-runtime/linear_search.i:14:[e-acsl] warning: missing guard for ensu [value] Initial state computed [value] Values of globals at initialization A[0..9] ∈ {0} -PROJECT_FILE.i:342:[value] entering loop for the first time -PROJECT_FILE.i:345:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:341:[value] entering loop for the first time +PROJECT_FILE.i:344:[value] assigning non deterministic value for the first time [value] computing for function search <- main. - Called from PROJECT_FILE.i:348. + Called from PROJECT_FILE.i:347. PROJECT_FILE.i:231:[value] Function search: precondition got status unknown. PROJECT_FILE.i:253:[value] entering loop for the first time [value] computing for function e_acsl_assert <- search <- main. @@ -22,11 +22,11 @@ PROJECT_FILE.i:270:[value] entering loop for the first time PROJECT_FILE.i:288:[value] entering loop for the first time PROJECT_FILE.i:304:[value] entering loop for the first time [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:322. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:328. + Called from PROJECT_FILE.i:327. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert PROJECT_FILE.i:234:[value] Function search, behavior exists: postcondition got status unknown. @@ -35,31 +35,31 @@ PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition g PROJECT_FILE.i:238:[value] Function search, behavior not_exists: postcondition got status unknown, but it is unknown if the behavior is active. [value] Recording results for search [value] Done for function search -PROJECT_FILE.i:349:[value] Assertion got status unknown. +PROJECT_FILE.i:348:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:350. + Called from PROJECT_FILE.i:349. PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status valid. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function search <- main. - Called from PROJECT_FILE.i:352. + Called from PROJECT_FILE.i:351. [value] computing for function e_acsl_assert <- search <- main. Called from PROJECT_FILE.i:263. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:322. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function e_acsl_assert <- search <- main. - Called from PROJECT_FILE.i:328. + Called from PROJECT_FILE.i:327. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] Recording results for search [value] Done for function search -PROJECT_FILE.i:353:[value] Assertion got status unknown. +PROJECT_FILE.i:352:[value] Assertion got status unknown. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:354. + Called from PROJECT_FILE.i:353. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] Recording results for main @@ -69,8 +69,8 @@ PROJECT_FILE.i:353:[value] Assertion got status unknown. [value] Values at end of function search: __retres ∈ {0; 1} k ∈ [0..10] - __e_acsl_var_3 ∈ {0; 1} - __e_acsl_var_6 ∈ {0; 1} + __e_acsl_3 ∈ {0; 1} + __e_acsl_6 ∈ {0; 1} [value] Values at end of function main: A[0..9] ∈ [0..81] __retres ∈ {0} @@ -109,57 +109,57 @@ int search(int elt) { int __retres; int k; - int __e_acsl_var_3; - int __e_acsl_var_6; + int __e_acsl_3; + int __e_acsl_6; { - int __e_acsl_var; + int __e_acsl; int __e_acsl_i; - __e_acsl_var = 1; + __e_acsl = 1; __e_acsl_i = 0; while (1) { if (! (__e_acsl_i < 9)) { break; } if (! (A[__e_acsl_i] <= A[__e_acsl_i + 1])) { - __e_acsl_var = 0; + __e_acsl = 0; goto e_acsl_end_loop1; } __e_acsl_i ++; } e_acsl_end_loop1: ; - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(\\forall int i; 0 <= i && i < 9 ==> A[i] <= A[i+1])", 9); { - int __e_acsl_var_5; + int __e_acsl_5; int __e_acsl_j_2; - __e_acsl_var_5 = 1; + __e_acsl_5 = 1; __e_acsl_j_2 = 0; while (1) { if (! (__e_acsl_j_2 < 10)) { break; } if (! (A[__e_acsl_j_2] != elt)) { - __e_acsl_var_5 = 0; + __e_acsl_5 = 0; goto e_acsl_end_loop3; } __e_acsl_j_2 ++; } e_acsl_end_loop3: ; - __e_acsl_var_6 = __e_acsl_var_5; + __e_acsl_6 = __e_acsl_5; } { - int __e_acsl_var_2; + int __e_acsl_2; int __e_acsl_j; - __e_acsl_var_2 = 0; + __e_acsl_2 = 0; __e_acsl_j = 0; while (1) { if (! (__e_acsl_j < 10)) { break; } if (! (! (A[__e_acsl_j] == elt))) { - __e_acsl_var_2 = 1; + __e_acsl_2 = 1; goto e_acsl_end_loop2; } __e_acsl_j ++; } e_acsl_end_loop2: ; - __e_acsl_var_3 = __e_acsl_var_2; + __e_acsl_3 = __e_acsl_2; } k = 0; @@ -178,17 +178,16 @@ int search(int elt) } __retres = 0; return_label: - { - int __e_acsl_var_4; - int __e_acsl_var_7; - if (! __e_acsl_var_3) { __e_acsl_var_4 = 1; } - else { __e_acsl_var_4 = __retres == 1; } - e_acsl_assert(__e_acsl_var_4,(char *)"Postcondition", + { int __e_acsl_4; + int __e_acsl_7; + if (! __e_acsl_3) { __e_acsl_4 = 1; } + else { __e_acsl_4 = __retres == 1; } + e_acsl_assert(__e_acsl_4,(char *)"Postcondition", (char *)"(\\old(\\exists int j; (0 <= j && j < 10) && A[j] == elt) ==> \\result == 1)", 12); - if (! __e_acsl_var_6) { __e_acsl_var_7 = 1; } - else { __e_acsl_var_7 = __retres == 0; } - e_acsl_assert(__e_acsl_var_7,(char *)"Postcondition", + if (! __e_acsl_6) { __e_acsl_7 = 1; } + else { __e_acsl_7 = __retres == 0; } + e_acsl_assert(__e_acsl_7,(char *)"Postcondition", (char *)"(\\old(\\forall int j; 0 <= j && j < 10 ==> A[j] != elt) ==> \\result == 0)", 15); return (__retres); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle index 7104aed36bf05b9f30a3e7572f6b6a72a86ac67c..1c8f12b847d3386fee69dce00ed82efad656f742 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.1.res.oracle @@ -94,52 +94,52 @@ PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid. Called from PROJECT_FILE.i:313. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:315. + Called from PROJECT_FILE.i:314. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:317. + Called from PROJECT_FILE.i:315. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:316. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:322. + Called from PROJECT_FILE.i:320. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:321. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:324. + Called from PROJECT_FILE.i:322. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:326. + Called from PROJECT_FILE.i:323. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:327. + Called from PROJECT_FILE.i:324. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:328. + Called from PROJECT_FILE.i:325. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:340. + Called from PROJECT_FILE.i:337. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:341. + Called from PROJECT_FILE.i:338. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:342. + Called from PROJECT_FILE.i:339. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:343. + Called from PROJECT_FILE.i:340. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:344. + Called from PROJECT_FILE.i:341. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:345. + Called from PROJECT_FILE.i:342. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -195,36 +195,36 @@ int main(void) y = 1; /*@ assert x < y; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 < 0,(char *)"Assertion",(char *)"(x < y)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ requires x ≡ 0; ensures x ≥ 1; */ { - mpz_t __e_acsl_var_19; - mpz_t __e_acsl_var_20; - int __e_acsl_var_21; + mpz_t __e_acsl_19; + mpz_t __e_acsl_20; + int __e_acsl_21; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Precondition", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Precondition", (char *)"(x == 0)",10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); if (x) { /*@ assert \false; */ ; e_acsl_assert(0,(char *)"Assertion",(char *)"(\\false)",13); @@ -233,64 +233,64 @@ int main(void) /*@ requires x ≡ 0; ensures x ≡ 1; */ { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - int __e_acsl_var_12; + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + int __e_acsl_12; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)0); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Precondition", + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)0); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Precondition", (char *)"(x == 0)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); x ++; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)1); - __e_acsl_var_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - e_acsl_assert(__e_acsl_var_12 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)1); + __e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + e_acsl_assert(__e_acsl_12 == 0,(char *)"Postcondition", (char *)"(x == 1)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } if (x) { /*@ requires x ≡ 1; ensures x ≡ 2; */ { - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - int __e_acsl_var_18; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + int __e_acsl_18; { - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - int __e_acsl_var_15; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)1); - __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - e_acsl_assert(__e_acsl_var_15 == 0,(char *)"Precondition", + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + int __e_acsl_15; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)1); + __e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + e_acsl_assert(__e_acsl_15 == 0,(char *)"Precondition", (char *)"(x == 1)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); x ++; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_17),(long)2); - __e_acsl_var_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_17)); - e_acsl_assert(__e_acsl_var_18 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_17),(long)2); + __e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_17)); + e_acsl_assert(__e_acsl_18 == 0,(char *)"Postcondition", (char *)"(x == 2)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } } @@ -301,14 +301,14 @@ int main(void) } } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)1); - __e_acsl_var_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_19), - (__mpz_struct const *)(__e_acsl_var_20)); - e_acsl_assert(__e_acsl_var_21 >= 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)1); + __e_acsl_21 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_19), + (__mpz_struct const *)(__e_acsl_20)); + e_acsl_assert(__e_acsl_21 >= 0,(char *)"Postcondition", (char *)"(x >= 1)",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle index 9f45cb6493eb9fca9695460704bf17ba291033b0..4fae871cea4778311c4d955846951c53ccacec02 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/not.1.res.oracle @@ -78,33 +78,31 @@ int main(void) x = 0; /*@ assert x ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)", - 8); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(x == 0)",8); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } if (x) { /*@ assert x ≢ 0; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)0); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 != 0,(char *)"Assertion", - (char *)"(x != 0)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)0); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 != 0,(char *)"Assertion",(char *)"(x != 0)",9); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle index 14eba20508a989e75c62abf6c8f80dd4ba8e5a8e..7b89e2b2652144da6e14af0b5038f63c310306d3 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.1.res.oracle @@ -102,29 +102,29 @@ int main(void) (char *)"(\"toto\" != \"titi\")",10); /*@ assert 'c' ≡ 'c'; */ ; { - mpz_t __e_acsl_var; - int __e_acsl_var_2; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)'c'); - __e_acsl_var_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var)); - e_acsl_assert(__e_acsl_var_2 == 0,(char *)"Assertion", + mpz_t __e_acsl; + int __e_acsl_2; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)'c'); + __e_acsl_2 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl)); + e_acsl_assert(__e_acsl_2 == 0,(char *)"Assertion", (char *)"(\'c\' == \'c\')",11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); } /*@ assert false ≢ true; */ ; { - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)false); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)true); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_4)); - e_acsl_assert(__e_acsl_var_5 != 0,(char *)"Assertion", + mpz_t __e_acsl_3; + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)false); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)true); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_4)); + e_acsl_assert(__e_acsl_5 != 0,(char *)"Assertion", (char *)"(false != true)",12); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle index c0b66a261253e2b31b7fdce063ecd47924856e09..812444d67820642ec059a77739396693fead1b8f 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.1.res.oracle @@ -124,7 +124,7 @@ PROJECT_FILE.i:153:[value] Function __gmpz_tdiv_q: precondition got status valid Called from PROJECT_FILE.i:308. PROJECT_FILE.i:180:[value] Function __gmpz_get_ui: precondition got status valid. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:309:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_17 < 3; +PROJECT_FILE.i:309:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_17 < 3; [value] computing for function __gmpz_init_set_si <- main. Called from PROJECT_FILE.i:309. [value] Done for function __gmpz_init_set_si @@ -220,7 +220,7 @@ PROJECT_FILE.i:141:[value] Function __gmpz_sub: precondition got status valid. [value] computing for function __gmpz_get_ui <- main. Called from PROJECT_FILE.i:366. [value] Done for function __gmpz_get_ui -PROJECT_FILE.i:367:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_var_29 < 3; +PROJECT_FILE.i:367:[kernel] warning: accessing out of bounds index [0..4294967295]. assert __e_acsl_29 < 3; [value] computing for function __gmpz_init_set_si <- main. Called from PROJECT_FILE.i:367. [value] Done for function __gmpz_init_set_si @@ -281,6 +281,9 @@ PROJECT_FILE.i:382:[value] Assertion got status valid. Called from PROJECT_FILE.i:395. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:396. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:397. [value] Done for function __gmpz_clear @@ -290,9 +293,6 @@ PROJECT_FILE.i:382:[value] Assertion got status valid. [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:399. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:400. -[value] Done for function __gmpz_clear PROJECT_FILE.i:331:[value] Assertion got status unknown. [value] computing for function __gmpz_init_set_si <- main. Called from PROJECT_FILE.i:338. @@ -405,6 +405,9 @@ PROJECT_FILE.i:382:[value] Assertion got status unknown. Called from PROJECT_FILE.i:395. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert +[value] computing for function __gmpz_clear <- main. + Called from PROJECT_FILE.i:396. +[value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:397. [value] Done for function __gmpz_clear @@ -414,29 +417,26 @@ PROJECT_FILE.i:382:[value] Assertion got status unknown. [value] computing for function __gmpz_clear <- main. Called from PROJECT_FILE.i:399. [value] Done for function __gmpz_clear -[value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:400. -[value] Done for function __gmpz_clear -PROJECT_FILE.i:404:[value] assigning non deterministic value for the first time -PROJECT_FILE.i:410:[value] Assertion got status valid. +PROJECT_FILE.i:403:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:409:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:415. + Called from PROJECT_FILE.i:414. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:416. + Called from PROJECT_FILE.i:415. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:417. + Called from PROJECT_FILE.i:416. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:418. + Called from PROJECT_FILE.i:417. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:419. + Called from PROJECT_FILE.i:418. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:420. + Called from PROJECT_FILE.i:419. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -537,98 +537,96 @@ int main(void) p = & x; /*@ assert *p ≡ 1; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)*p); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", - (char *)"(*p == 1)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)*p); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(*p == 1)",13); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert t[0] ≡ 2; */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)t[0]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", - (char *)"(t[0] == 2)",14); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)t[0]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)2); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion",(char *)"(t[0] == 2)", + 14); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } /*@ assert t[2] ≡ 4; */ ; { - mpz_t __e_acsl_var_7; - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)t[2]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)4); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_8)); - e_acsl_assert(__e_acsl_var_9 == 0,(char *)"Assertion", - (char *)"(t[2] == 4)",15); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + mpz_t __e_acsl_7; + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)t[2]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)4); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_8)); + e_acsl_assert(__e_acsl_9 == 0,(char *)"Assertion",(char *)"(t[2] == 4)", + 15); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ; { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - mpz_t __e_acsl_var_14; - int __e_acsl_var_15; - mpz_t __e_acsl_var_16; - unsigned long __e_acsl_var_17; - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - int __e_acsl_var_20; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_11),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_10), - (__mpz_struct const *)(__e_acsl_var_11)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_14),(long)0); - __e_acsl_var_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_13), - (__mpz_struct const *)(__e_acsl_var_14)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + mpz_t __e_acsl_14; + int __e_acsl_15; + mpz_t __e_acsl_16; + unsigned long __e_acsl_17; + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + int __e_acsl_20; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_11),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_12)); + __gmpz_mul((__mpz_struct *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_10), + (__mpz_struct const *)(__e_acsl_11)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_14),(long)0); + __e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_13), + (__mpz_struct const *)(__e_acsl_14)); + __gmpz_init((__mpz_struct *)(__e_acsl_16)); /*@ assert sizeof((int)0x0) ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_15 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_15 == 0),(char *)"Assertion", (char *)"(sizeof((int)0x0) == 0)",16); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_16), - (__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - __e_acsl_var_17 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_16)); - /*@ assert __e_acsl_var_17 < 3; + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_16), + (__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + __e_acsl_17 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_16)); + /*@ assert __e_acsl_17 < 3; // synthesized */ - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18), - (long)t[__e_acsl_var_17]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)4); - __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - e_acsl_assert(__e_acsl_var_20 == 0,(char *)"Assertion", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)t[__e_acsl_17]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)4); + __e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + e_acsl_assert(__e_acsl_20 == 0,(char *)"Assertion", (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_14)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_14)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); } { @@ -638,90 +636,90 @@ int main(void) if (! (i < 2)) { break; } /*@ assert t[i] ≡ i+2; */ ; { - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - mpz_t __e_acsl_var_23; - mpz_t __e_acsl_var_24; - int __e_acsl_var_25; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)t[i]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)i); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_24), - (__mpz_struct const *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_23)); - __e_acsl_var_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_21), - (__mpz_struct const *)(__e_acsl_var_24)); - e_acsl_assert(__e_acsl_var_25 == 0,(char *)"Assertion", + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + mpz_t __e_acsl_24; + int __e_acsl_25; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)t[i]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)i); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_24)); + __gmpz_add((__mpz_struct *)(__e_acsl_24), + (__mpz_struct const *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_23)); + __e_acsl_25 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_24)); + e_acsl_assert(__e_acsl_25 == 0,(char *)"Assertion", (char *)"(t[i] == i+2)",19); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); } /*@ assert t[2-i] ≡ 4-i; */ ; { - mpz_t __e_acsl_var_26; - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - unsigned long __e_acsl_var_29; - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)i); - __gmpz_init((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_28), - (__mpz_struct const *)(__e_acsl_var_26), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_29 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_28)); - /*@ assert __e_acsl_var_29 < 3; + mpz_t __e_acsl_26; + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + unsigned long __e_acsl_29; + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)i); + __gmpz_init((__mpz_struct *)(__e_acsl_28)); + __gmpz_sub((__mpz_struct *)(__e_acsl_28), + (__mpz_struct const *)(__e_acsl_26), + (__mpz_struct const *)(__e_acsl_27)); + __e_acsl_29 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_28)); + /*@ assert __e_acsl_29 < 3; // synthesized */ - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30), - (long)t[__e_acsl_var_29]); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)4); - __gmpz_init((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_32), - (__mpz_struct const *)(__e_acsl_var_31), - (__mpz_struct const *)(__e_acsl_var_27)); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_32)); - e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Assertion", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30), + (long)t[__e_acsl_29]); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)4); + __gmpz_init((__mpz_struct *)(__e_acsl_32)); + __gmpz_sub((__mpz_struct *)(__e_acsl_32), + (__mpz_struct const *)(__e_acsl_31), + (__mpz_struct const *)(__e_acsl_27)); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_32)); + e_acsl_assert(__e_acsl_33 == 0,(char *)"Assertion", (char *)"(t[2-i] == 4-i)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } /*@ assert *(&t[2]-i) ≡ 4-i; */ ; { - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - mpz_t __e_acsl_var_36; - mpz_t __e_acsl_var_37; - int __e_acsl_var_38; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34), + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + mpz_t __e_acsl_36; + mpz_t __e_acsl_37; + int __e_acsl_38; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34), (long)*(& t[2] - (long)i)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_36),(long)i); - __gmpz_init((__mpz_struct *)(__e_acsl_var_37)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_37), - (__mpz_struct const *)(__e_acsl_var_35), - (__mpz_struct const *)(__e_acsl_var_36)); - __e_acsl_var_38 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_37)); - e_acsl_assert(__e_acsl_var_38 == 0,(char *)"Assertion", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_36),(long)i); + __gmpz_init((__mpz_struct *)(__e_acsl_37)); + __gmpz_sub((__mpz_struct *)(__e_acsl_37), + (__mpz_struct const *)(__e_acsl_35), + (__mpz_struct const *)(__e_acsl_36)); + __e_acsl_38 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_37)); + e_acsl_assert(__e_acsl_38 == 0,(char *)"Assertion", (char *)"(*(&t[2]-i) == 4-i)",21); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); } i ++; @@ -732,17 +730,17 @@ int main(void) t[2] = 5; /*@ assert *p ≡ 5; */ ; { - mpz_t __e_acsl_var_39; - mpz_t __e_acsl_var_40; - int __e_acsl_var_41; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_39),(long)*p); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)5); - __e_acsl_var_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_40)); - e_acsl_assert(__e_acsl_var_41 == 0,(char *)"Assertion", - (char *)"(*p == 5)",27); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_40)); + mpz_t __e_acsl_39; + mpz_t __e_acsl_40; + int __e_acsl_41; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_39),(long)*p); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)5); + __e_acsl_41 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_40)); + e_acsl_assert(__e_acsl_41 == 0,(char *)"Assertion",(char *)"(*p == 5)", + 27); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle index 0f00c1221aec082fe0dd8c0147376b407d969aab..a42efdfc3b05985515563f847246924a1019352d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle @@ -125,12 +125,12 @@ int main(void) e_acsl_assert(t[2] == 4,(char *)"Assertion",(char *)"(t[2] == 4)",15); /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ; { - int __e_acsl_var; + int __e_acsl; /*@ assert sizeof((int)0x0) ≢ 0; */ ; e_acsl_assert(! (4 == 0),(char *)"Assertion", (char *)"(sizeof((int)0x0) == 0)",16); - __e_acsl_var = (2 * 4) / 4; - e_acsl_assert(t[__e_acsl_var] == 4,(char *)"Assertion", + __e_acsl = (2 * 4) / 4; + e_acsl_assert(t[__e_acsl] == 4,(char *)"Assertion", (char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)",16); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle index fb943cd4de75b0fa06061379251d2b7f799ff867..51aeed48ddc7017be87f421605f7fadac38a8f28 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.1.res.oracle @@ -30,629 +30,629 @@ PROJECT_FILE.i:119:[value] Function __gmpz_cmp: precondition got status valid. PROJECT_FILE.i:120:[value] Function __gmpz_cmp: precondition got status valid. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:254. + Called from PROJECT_FILE.i:253. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:261. + Called from PROJECT_FILE.i:260. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:262. + Called from PROJECT_FILE.i:261. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:267. + Called from PROJECT_FILE.i:266. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:272. + Called from PROJECT_FILE.i:271. [value] Done for function __gmpz_clear [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:268. + Called from PROJECT_FILE.i:267. [value] Done for function __gmpz_cmp -PROJECT_FILE.i:269:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:268:[value] assigning non deterministic value for the first time [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:270. + Called from PROJECT_FILE.i:269. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:282. + Called from PROJECT_FILE.i:281. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:272. + Called from PROJECT_FILE.i:271. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:283. + Called from PROJECT_FILE.i:282. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:284. + Called from PROJECT_FILE.i:283. PROJECT_FILE.i:133:[value] Function __gmpz_add: precondition got status valid. PROJECT_FILE.i:134:[value] Function __gmpz_add: precondition got status valid. PROJECT_FILE.i:135:[value] Function __gmpz_add: precondition got status valid. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:285. + Called from PROJECT_FILE.i:284. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:285. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:287. + Called from PROJECT_FILE.i:286. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:292. + Called from PROJECT_FILE.i:291. PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unknown. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:295. + Called from PROJECT_FILE.i:294. [value] Done for function __gmpz_clear -PROJECT_FILE.i:299:[value] Assertion got status unknown. +PROJECT_FILE.i:298:[value] Assertion got status unknown. [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:304. + Called from PROJECT_FILE.i:303. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:309. + Called from PROJECT_FILE.i:308. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:310. + Called from PROJECT_FILE.i:309. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:311. + Called from PROJECT_FILE.i:310. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:312. + Called from PROJECT_FILE.i:311. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:313. + Called from PROJECT_FILE.i:312. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:314. + Called from PROJECT_FILE.i:313. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:315. + Called from PROJECT_FILE.i:314. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:316. + Called from PROJECT_FILE.i:315. [value] Done for function __gmpz_clear -PROJECT_FILE.i:319:[value] entering loop for the first time +PROJECT_FILE.i:318:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:322. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:324. + Called from PROJECT_FILE.i:323. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:327. + Called from PROJECT_FILE.i:325. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:333. + Called from PROJECT_FILE.i:331. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:334. + Called from PROJECT_FILE.i:332. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:335. + Called from PROJECT_FILE.i:333. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:345. + Called from PROJECT_FILE.i:343. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:346. + Called from PROJECT_FILE.i:344. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:347. + Called from PROJECT_FILE.i:345. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:348. + Called from PROJECT_FILE.i:346. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:349. + Called from PROJECT_FILE.i:347. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:350. + Called from PROJECT_FILE.i:348. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:355. + Called from PROJECT_FILE.i:353. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:357. + Called from PROJECT_FILE.i:355. [value] Done for function __gmpz_clear -PROJECT_FILE.i:361:[value] Assertion got status unknown. +PROJECT_FILE.i:359:[value] Assertion got status unknown. [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:366. + Called from PROJECT_FILE.i:364. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:371. + Called from PROJECT_FILE.i:369. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:372. + Called from PROJECT_FILE.i:370. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:373. + Called from PROJECT_FILE.i:371. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:374. + Called from PROJECT_FILE.i:372. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:375. + Called from PROJECT_FILE.i:373. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:376. + Called from PROJECT_FILE.i:374. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:377. + Called from PROJECT_FILE.i:375. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:378. + Called from PROJECT_FILE.i:376. [value] Done for function __gmpz_clear -PROJECT_FILE.i:381:[value] entering loop for the first time +PROJECT_FILE.i:379:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:385. + Called from PROJECT_FILE.i:383. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:386. + Called from PROJECT_FILE.i:384. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:389. + Called from PROJECT_FILE.i:386. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:409. + Called from PROJECT_FILE.i:406. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:411. + Called from PROJECT_FILE.i:408. [value] Done for function __gmpz_clear -PROJECT_FILE.i:415:[value] Assertion got status unknown. +PROJECT_FILE.i:412:[value] Assertion got status unknown. [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:420. + Called from PROJECT_FILE.i:417. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:423. + Called from PROJECT_FILE.i:420. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:424. + Called from PROJECT_FILE.i:421. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:425. + Called from PROJECT_FILE.i:422. [value] Done for function __gmpz_clear -PROJECT_FILE.i:428:[value] entering loop for the first time +PROJECT_FILE.i:425:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:432. + Called from PROJECT_FILE.i:429. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:433. + Called from PROJECT_FILE.i:430. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:436. + Called from PROJECT_FILE.i:432. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:442. + Called from PROJECT_FILE.i:438. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:443. + Called from PROJECT_FILE.i:439. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:444. + Called from PROJECT_FILE.i:440. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:454. + Called from PROJECT_FILE.i:450. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:455. + Called from PROJECT_FILE.i:451. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:456. + Called from PROJECT_FILE.i:452. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:457. + Called from PROJECT_FILE.i:453. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:458. + Called from PROJECT_FILE.i:454. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:459. + Called from PROJECT_FILE.i:455. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:464. + Called from PROJECT_FILE.i:460. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:466. + Called from PROJECT_FILE.i:462. [value] Done for function __gmpz_clear -PROJECT_FILE.i:470:[value] Assertion got status unknown. +PROJECT_FILE.i:466:[value] Assertion got status unknown. [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:480. + Called from PROJECT_FILE.i:476. [value] Done for function __gmpz_init [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:481. + Called from PROJECT_FILE.i:477. [value] Done for function __gmpz_init [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:482. + Called from PROJECT_FILE.i:478. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:485. + Called from PROJECT_FILE.i:481. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:486. + Called from PROJECT_FILE.i:482. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:487. + Called from PROJECT_FILE.i:483. [value] Done for function __gmpz_clear -PROJECT_FILE.i:490:[value] entering loop for the first time +PROJECT_FILE.i:486:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:494. + Called from PROJECT_FILE.i:490. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:495. + Called from PROJECT_FILE.i:491. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:498. + Called from PROJECT_FILE.i:493. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:503. + Called from PROJECT_FILE.i:498. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:504. + Called from PROJECT_FILE.i:499. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:505. + Called from PROJECT_FILE.i:500. [value] Done for function __gmpz_clear -PROJECT_FILE.i:508:[value] entering loop for the first time +PROJECT_FILE.i:503:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:512. + Called from PROJECT_FILE.i:507. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:513. + Called from PROJECT_FILE.i:508. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:516. + Called from PROJECT_FILE.i:511. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:521. + Called from PROJECT_FILE.i:516. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:581. + Called from PROJECT_FILE.i:575. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:522. + Called from PROJECT_FILE.i:517. [value] Done for function __gmpz_set [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:582. + Called from PROJECT_FILE.i:576. [value] Done for function __gmpz_init [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:523. + Called from PROJECT_FILE.i:518. [value] Done for function __gmpz_clear [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:583. + Called from PROJECT_FILE.i:577. [value] Done for function __gmpz_add -PROJECT_FILE.i:526:[value] entering loop for the first time +PROJECT_FILE.i:521:[value] entering loop for the first time [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:584. + Called from PROJECT_FILE.i:578. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:585. + Called from PROJECT_FILE.i:579. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:586. + Called from PROJECT_FILE.i:580. [value] Done for function __gmpz_clear [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:529. + Called from PROJECT_FILE.i:524. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:538. + Called from PROJECT_FILE.i:533. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:539. + Called from PROJECT_FILE.i:534. [value] Done for function __gmpz_add [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:569. + Called from PROJECT_FILE.i:563. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:540. + Called from PROJECT_FILE.i:535. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:570. + Called from PROJECT_FILE.i:564. [value] Done for function __gmpz_init [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:541. + Called from PROJECT_FILE.i:536. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:571. + Called from PROJECT_FILE.i:565. [value] Done for function __gmpz_add [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:542. + Called from PROJECT_FILE.i:537. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:572. + Called from PROJECT_FILE.i:566. [value] Done for function __gmpz_set [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:543. + Called from PROJECT_FILE.i:538. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:573. + Called from PROJECT_FILE.i:567. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:545. + Called from PROJECT_FILE.i:539. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:574. + Called from PROJECT_FILE.i:568. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:546. + Called from PROJECT_FILE.i:540. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:547. + Called from PROJECT_FILE.i:541. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:557. + Called from PROJECT_FILE.i:551. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:558. + Called from PROJECT_FILE.i:552. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:559. + Called from PROJECT_FILE.i:553. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:560. + Called from PROJECT_FILE.i:554. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:561. + Called from PROJECT_FILE.i:555. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:562. + Called from PROJECT_FILE.i:556. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:591. + Called from PROJECT_FILE.i:585. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:594. + Called from PROJECT_FILE.i:588. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:595. + Called from PROJECT_FILE.i:589. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:596. + Called from PROJECT_FILE.i:590. [value] Done for function __gmpz_clear -PROJECT_FILE.i:600:[value] Assertion got status unknown. +PROJECT_FILE.i:594:[value] Assertion got status unknown. [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:605. + Called from PROJECT_FILE.i:599. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:608. + Called from PROJECT_FILE.i:602. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:609. + Called from PROJECT_FILE.i:603. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:610. + Called from PROJECT_FILE.i:604. [value] Done for function __gmpz_clear -PROJECT_FILE.i:613:[value] entering loop for the first time +PROJECT_FILE.i:607:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:617. + Called from PROJECT_FILE.i:611. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:618. + Called from PROJECT_FILE.i:612. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:621. + Called from PROJECT_FILE.i:614. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:627. + Called from PROJECT_FILE.i:620. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:628. + Called from PROJECT_FILE.i:621. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:629. + Called from PROJECT_FILE.i:622. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:639. + Called from PROJECT_FILE.i:632. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:640. + Called from PROJECT_FILE.i:633. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:641. + Called from PROJECT_FILE.i:634. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:642. + Called from PROJECT_FILE.i:635. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:643. + Called from PROJECT_FILE.i:636. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:644. + Called from PROJECT_FILE.i:637. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:649. + Called from PROJECT_FILE.i:642. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:651. + Called from PROJECT_FILE.i:644. [value] Done for function __gmpz_clear -PROJECT_FILE.i:655:[value] Assertion got status unknown. +PROJECT_FILE.i:648:[value] Assertion got status unknown. [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:662. + Called from PROJECT_FILE.i:655. [value] Done for function __gmpz_init [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:665. + Called from PROJECT_FILE.i:658. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:666. + Called from PROJECT_FILE.i:659. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:667. + Called from PROJECT_FILE.i:660. [value] Done for function __gmpz_clear -PROJECT_FILE.i:670:[value] entering loop for the first time +PROJECT_FILE.i:663:[value] entering loop for the first time [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:674. + Called from PROJECT_FILE.i:667. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:675. + Called from PROJECT_FILE.i:668. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:678. + Called from PROJECT_FILE.i:670. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:688. + Called from PROJECT_FILE.i:680. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:689. + Called from PROJECT_FILE.i:681. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:690. + Called from PROJECT_FILE.i:682. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:691. + Called from PROJECT_FILE.i:683. [value] Done for function __gmpz_init -PROJECT_FILE.i:692:[value] Assertion got status valid. +PROJECT_FILE.i:684:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:693. + Called from PROJECT_FILE.i:685. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_tdiv_r <- main. - Called from PROJECT_FILE.i:694. + Called from PROJECT_FILE.i:686. PROJECT_FILE.i:157:[value] Function __gmpz_tdiv_r: precondition got status valid. PROJECT_FILE.i:158:[value] Function __gmpz_tdiv_r: precondition got status valid. PROJECT_FILE.i:159:[value] Function __gmpz_tdiv_r: precondition got status valid. [value] Done for function __gmpz_tdiv_r [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:695. + Called from PROJECT_FILE.i:687. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:765. + Called from PROJECT_FILE.i:755. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:701. + Called from PROJECT_FILE.i:693. [value] Done for function __gmpz_init [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:766. + Called from PROJECT_FILE.i:756. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:767. + Called from PROJECT_FILE.i:757. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:704. + Called from PROJECT_FILE.i:696. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:705. + Called from PROJECT_FILE.i:697. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:706. + Called from PROJECT_FILE.i:698. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:777. + Called from PROJECT_FILE.i:767. [value] Done for function __gmpz_init_set_si -PROJECT_FILE.i:709:[value] entering loop for the first time +PROJECT_FILE.i:701:[value] entering loop for the first time [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:778. + Called from PROJECT_FILE.i:768. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:779. + Called from PROJECT_FILE.i:769. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:780. + Called from PROJECT_FILE.i:770. [value] Done for function __gmpz_set [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:716. + Called from PROJECT_FILE.i:708. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:781. + Called from PROJECT_FILE.i:771. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:717. + Called from PROJECT_FILE.i:709. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:782. + Called from PROJECT_FILE.i:772. [value] Done for function __gmpz_clear [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:718. + Called from PROJECT_FILE.i:710. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:720. + Called from PROJECT_FILE.i:711. [value] Done for function __gmpz_init -PROJECT_FILE.i:721:[value] Assertion got status valid. +PROJECT_FILE.i:712:[value] Assertion got status valid. [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:722. + Called from PROJECT_FILE.i:713. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_tdiv_q <- main. - Called from PROJECT_FILE.i:724. + Called from PROJECT_FILE.i:714. PROJECT_FILE.i:151:[value] Function __gmpz_tdiv_q: precondition got status valid. PROJECT_FILE.i:152:[value] Function __gmpz_tdiv_q: precondition got status valid. PROJECT_FILE.i:153:[value] Function __gmpz_tdiv_q: precondition got status valid. [value] Done for function __gmpz_tdiv_q [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:725. + Called from PROJECT_FILE.i:715. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:728. + Called from PROJECT_FILE.i:718. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:729. + Called from PROJECT_FILE.i:719. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:730. + Called from PROJECT_FILE.i:720. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:763. + Called from PROJECT_FILE.i:753. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:737. + Called from PROJECT_FILE.i:727. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:765. + Called from PROJECT_FILE.i:755. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:738. + Called from PROJECT_FILE.i:728. [value] Done for function __gmpz_init [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:766. + Called from PROJECT_FILE.i:756. [value] Done for function __gmpz_clear [value] computing for function __gmpz_mul <- main. - Called from PROJECT_FILE.i:739. + Called from PROJECT_FILE.i:729. PROJECT_FILE.i:145:[value] Function __gmpz_mul: precondition got status valid. PROJECT_FILE.i:146:[value] Function __gmpz_mul: precondition got status valid. PROJECT_FILE.i:147:[value] Function __gmpz_mul: precondition got status valid. [value] Done for function __gmpz_mul [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:767. + Called from PROJECT_FILE.i:757. [value] Done for function __gmpz_clear [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:740. + Called from PROJECT_FILE.i:730. [value] Done for function __gmpz_cmp [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:741. + Called from PROJECT_FILE.i:731. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:742. + Called from PROJECT_FILE.i:732. [value] Done for function __gmpz_clear [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:752. + Called from PROJECT_FILE.i:742. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init <- main. - Called from PROJECT_FILE.i:753. + Called from PROJECT_FILE.i:743. [value] Done for function __gmpz_init [value] computing for function __gmpz_add <- main. - Called from PROJECT_FILE.i:754. + Called from PROJECT_FILE.i:744. [value] Done for function __gmpz_add [value] computing for function __gmpz_set <- main. - Called from PROJECT_FILE.i:755. + Called from PROJECT_FILE.i:745. [value] Done for function __gmpz_set [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:763. + Called from PROJECT_FILE.i:753. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:756. + Called from PROJECT_FILE.i:746. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:757. + Called from PROJECT_FILE.i:747. [value] Done for function __gmpz_clear [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:787. + Called from PROJECT_FILE.i:777. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:790. + Called from PROJECT_FILE.i:780. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -742,69 +742,69 @@ int main(void) int __retres; /*@ assert ∀ ℤ x; 0 ≤ x ∧ x ≤ 1 ⇒ x ≡ 0 ∨ x ≡ 1; */ ; { - int __e_acsl_var; + int __e_acsl; mpz_t __e_acsl_x; - __e_acsl_var = 1; + __e_acsl = 1; __gmpz_init((__mpz_struct *)(__e_acsl_x)); { - mpz_t __e_acsl_var_7; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)0); + mpz_t __e_acsl_7; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_x), - (__mpz_struct const *)(__e_acsl_var_7)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + (__mpz_struct const *)(__e_acsl_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } while (1) { { - mpz_t __e_acsl_var_8; - int __e_acsl_var_9; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_8),(long)1); - __e_acsl_var_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), - (__mpz_struct const *)(__e_acsl_var_8)); - if (! (__e_acsl_var_9 <= 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_8)); + mpz_t __e_acsl_8; + int __e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_8),(long)1); + __e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_8)); + if (! (__e_acsl_9 <= 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_8)); } { - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), - (__mpz_struct const *)(__e_acsl_var_2)); - if (__e_acsl_var_3 == 0) { __e_acsl_var_6 = 1; } + mpz_t __e_acsl_2; + int __e_acsl_3; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_2)); + if (__e_acsl_3 == 0) { __e_acsl_6 = 1; } else { - mpz_t __e_acsl_var_4; - int __e_acsl_var_5; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)1); - __e_acsl_var_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), - (__mpz_struct const *)(__e_acsl_var_4)); - __e_acsl_var_6 = __e_acsl_var_5 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); + mpz_t __e_acsl_4; + int __e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)1); + __e_acsl_5 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x), + (__mpz_struct const *)(__e_acsl_4)); + __e_acsl_6 = __e_acsl_5 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); - if (! __e_acsl_var_6) { - __e_acsl_var = 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); + if (! __e_acsl_6) { + __e_acsl = 0; goto e_acsl_end_loop1; } } { - mpz_t __e_acsl_var_10; - mpz_t __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_11)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_11), + mpz_t __e_acsl_10; + mpz_t __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_11)); + __gmpz_add((__mpz_struct *)(__e_acsl_11), (__mpz_struct const *)(__e_acsl_x), - (__mpz_struct const *)(__e_acsl_var_10)); + (__mpz_struct const *)(__e_acsl_10)); __gmpz_set((__mpz_struct *)(__e_acsl_x), - (__mpz_struct const *)(__e_acsl_var_11)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_11)); + (__mpz_struct const *)(__e_acsl_11)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); + __gmpz_clear((__mpz_struct *)(__e_acsl_11)); } } e_acsl_end_loop1: ; - e_acsl_assert(__e_acsl_var,(char *)"Assertion", + e_acsl_assert(__e_acsl,(char *)"Assertion", (char *)"(\\forall integer x; 0 <= x && x <= 1 ==> x == 0 || x == 1)", 11); __gmpz_clear((__mpz_struct *)(__e_acsl_x)); @@ -812,68 +812,67 @@ int main(void) /*@ assert ∀ ℤ x; 0 < x ∧ x ≤ 1 ⇒ x ≡ 1; */ ; { - int __e_acsl_var_12; + int __e_acsl_12; mpz_t __e_acsl_x_2; - __e_acsl_var_12 = 1; + __e_acsl_12 = 1; __gmpz_init((__mpz_struct *)(__e_acsl_x_2)); { - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - mpz_t __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)0); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_17)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_17), - (__mpz_struct const *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_16)); + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + mpz_t __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_17)); + __gmpz_add((__mpz_struct *)(__e_acsl_17), + (__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); __gmpz_set((__mpz_struct *)(__e_acsl_x_2), - (__mpz_struct const *)(__e_acsl_var_17)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_17)); + (__mpz_struct const *)(__e_acsl_17)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); + __gmpz_clear((__mpz_struct *)(__e_acsl_17)); } while (1) { { - mpz_t __e_acsl_var_18; - int __e_acsl_var_19; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)1); - __e_acsl_var_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2), - (__mpz_struct const *)(__e_acsl_var_18)); - if (! (__e_acsl_var_19 <= 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); + mpz_t __e_acsl_18; + int __e_acsl_19; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)1); + __e_acsl_19 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_18)); + if (! (__e_acsl_19 <= 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); } { - mpz_t __e_acsl_var_13; - int __e_acsl_var_14; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)1); - __e_acsl_var_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2), - (__mpz_struct const *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - if (! (__e_acsl_var_14 == 0)) { - __e_acsl_var_12 = 0; - goto e_acsl_end_loop2; - } + mpz_t __e_acsl_13; + int __e_acsl_14; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)1); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_2), + (__mpz_struct const *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + if (! (__e_acsl_14 == 0)) { + __e_acsl_12 = 0; + goto e_acsl_end_loop2; } } { - mpz_t __e_acsl_var_20; - mpz_t __e_acsl_var_21; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_20),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_21), + mpz_t __e_acsl_20; + mpz_t __e_acsl_21; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_20),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_21)); + __gmpz_add((__mpz_struct *)(__e_acsl_21), (__mpz_struct const *)(__e_acsl_x_2), - (__mpz_struct const *)(__e_acsl_var_20)); + (__mpz_struct const *)(__e_acsl_20)); __gmpz_set((__mpz_struct *)(__e_acsl_x_2), - (__mpz_struct const *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_20)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); + (__mpz_struct const *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_20)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); } } e_acsl_end_loop2: ; - e_acsl_assert(__e_acsl_var_12,(char *)"Assertion", + e_acsl_assert(__e_acsl_12,(char *)"Assertion", (char *)"(\\forall integer x; 0 < x && x <= 1 ==> x == 1)", 12); __gmpz_clear((__mpz_struct *)(__e_acsl_x_2)); @@ -881,57 +880,57 @@ int main(void) /*@ assert ∀ ℤ x; 0 < x ∧ x < 1 ⇒ \false; */ ; { - int __e_acsl_var_22; + int __e_acsl_22; mpz_t __e_acsl_x_3; - __e_acsl_var_22 = 1; + __e_acsl_22 = 1; __gmpz_init((__mpz_struct *)(__e_acsl_x_3)); { - mpz_t __e_acsl_var_23; - mpz_t __e_acsl_var_24; - mpz_t __e_acsl_var_25; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_23),(long)0); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_24),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_25)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_25), - (__mpz_struct const *)(__e_acsl_var_23), - (__mpz_struct const *)(__e_acsl_var_24)); + mpz_t __e_acsl_23; + mpz_t __e_acsl_24; + mpz_t __e_acsl_25; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_23),(long)0); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_24),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_25)); + __gmpz_add((__mpz_struct *)(__e_acsl_25), + (__mpz_struct const *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_24)); __gmpz_set((__mpz_struct *)(__e_acsl_x_3), - (__mpz_struct const *)(__e_acsl_var_25)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_24)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); + (__mpz_struct const *)(__e_acsl_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_24)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); } while (1) { { - mpz_t __e_acsl_var_26; - int __e_acsl_var_27; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_26),(long)1); - __e_acsl_var_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3), - (__mpz_struct const *)(__e_acsl_var_26)); - if (! (__e_acsl_var_27 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_26)); + mpz_t __e_acsl_26; + int __e_acsl_27; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_26),(long)1); + __e_acsl_27 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_3), + (__mpz_struct const *)(__e_acsl_26)); + if (! (__e_acsl_27 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_26)); } - __e_acsl_var_22 = 0; + __e_acsl_22 = 0; goto e_acsl_end_loop3; { - mpz_t __e_acsl_var_28; - mpz_t __e_acsl_var_29; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_29)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_29), + mpz_t __e_acsl_28; + mpz_t __e_acsl_29; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_29)); + __gmpz_add((__mpz_struct *)(__e_acsl_29), (__mpz_struct const *)(__e_acsl_x_3), - (__mpz_struct const *)(__e_acsl_var_28)); + (__mpz_struct const *)(__e_acsl_28)); __gmpz_set((__mpz_struct *)(__e_acsl_x_3), - (__mpz_struct const *)(__e_acsl_var_29)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_29)); + (__mpz_struct const *)(__e_acsl_29)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_29)); } } e_acsl_end_loop3: ; - e_acsl_assert(__e_acsl_var_22,(char *)"Assertion", + e_acsl_assert(__e_acsl_22,(char *)"Assertion", (char *)"(\\forall integer x; 0 < x && x < 1 ==> \\false)", 13); __gmpz_clear((__mpz_struct *)(__e_acsl_x_3)); @@ -939,59 +938,58 @@ int main(void) /*@ assert ∀ ℤ x; 0 ≤ x ∧ x < 1 ⇒ x ≡ 0; */ ; { - int __e_acsl_var_30; + int __e_acsl_30; mpz_t __e_acsl_x_4; - __e_acsl_var_30 = 1; + __e_acsl_30 = 1; __gmpz_init((__mpz_struct *)(__e_acsl_x_4)); { - mpz_t __e_acsl_var_33; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_33),(long)0); + mpz_t __e_acsl_33; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_33),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_x_4), - (__mpz_struct const *)(__e_acsl_var_33)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_33)); + (__mpz_struct const *)(__e_acsl_33)); + __gmpz_clear((__mpz_struct *)(__e_acsl_33)); } while (1) { { - mpz_t __e_acsl_var_34; - int __e_acsl_var_35; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34),(long)1); - __e_acsl_var_35 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4), - (__mpz_struct const *)(__e_acsl_var_34)); - if (! (__e_acsl_var_35 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); + mpz_t __e_acsl_34; + int __e_acsl_35; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)1); + __e_acsl_35 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_34)); + if (! (__e_acsl_35 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); } { - mpz_t __e_acsl_var_31; - int __e_acsl_var_32; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)0); - __e_acsl_var_32 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4), - (__mpz_struct const *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - if (! (__e_acsl_var_32 == 0)) { - __e_acsl_var_30 = 0; - goto e_acsl_end_loop4; - } + mpz_t __e_acsl_31; + int __e_acsl_32; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)0); + __e_acsl_32 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_4), + (__mpz_struct const *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + if (! (__e_acsl_32 == 0)) { + __e_acsl_30 = 0; + goto e_acsl_end_loop4; } } { - mpz_t __e_acsl_var_36; - mpz_t __e_acsl_var_37; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_36),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_37)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_37), + mpz_t __e_acsl_36; + mpz_t __e_acsl_37; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_36),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_37)); + __gmpz_add((__mpz_struct *)(__e_acsl_37), (__mpz_struct const *)(__e_acsl_x_4), - (__mpz_struct const *)(__e_acsl_var_36)); + (__mpz_struct const *)(__e_acsl_36)); __gmpz_set((__mpz_struct *)(__e_acsl_x_4), - (__mpz_struct const *)(__e_acsl_var_37)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_36)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_37)); + (__mpz_struct const *)(__e_acsl_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_36)); + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); } } e_acsl_end_loop4: ; - e_acsl_assert(__e_acsl_var_30,(char *)"Assertion", + e_acsl_assert(__e_acsl_30,(char *)"Assertion", (char *)"(\\forall integer x; 0 <= x && x < 1 ==> x == 0)", 14); __gmpz_clear((__mpz_struct *)(__e_acsl_x_4)); @@ -1002,142 +1000,140 @@ int main(void) ((0 ≤ x ∧ x < 2) ∧ (0 ≤ y ∧ y < 5)) ∧ (0 ≤ z ∧ z ≤ y) ⇒ x+z ≤ y+1; */ ; { - int __e_acsl_var_38; + int __e_acsl_38; mpz_t __e_acsl_x_5; mpz_t __e_acsl_y; mpz_t __e_acsl_z; - __e_acsl_var_38 = 1; + __e_acsl_38 = 1; __gmpz_init((__mpz_struct *)(__e_acsl_x_5)); __gmpz_init((__mpz_struct *)(__e_acsl_y)); __gmpz_init((__mpz_struct *)(__e_acsl_z)); { - mpz_t __e_acsl_var_52; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)0); + mpz_t __e_acsl_52; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_x_5), - (__mpz_struct const *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); + (__mpz_struct const *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); } while (1) { { - mpz_t __e_acsl_var_53; - int __e_acsl_var_54; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_53),(long)2); - __e_acsl_var_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5), - (__mpz_struct const *)(__e_acsl_var_53)); - if (! (__e_acsl_var_54 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); + mpz_t __e_acsl_53; + int __e_acsl_54; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_53),(long)2); + __e_acsl_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_5), + (__mpz_struct const *)(__e_acsl_53)); + if (! (__e_acsl_54 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); } { - mpz_t __e_acsl_var_47; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_47),(long)0); + mpz_t __e_acsl_47; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_47),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_y), - (__mpz_struct const *)(__e_acsl_var_47)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_47)); + (__mpz_struct const *)(__e_acsl_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); } while (1) { { - mpz_t __e_acsl_var_48; - int __e_acsl_var_49; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_48),(long)5); - __e_acsl_var_49 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y), - (__mpz_struct const *)(__e_acsl_var_48)); - if (! (__e_acsl_var_49 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); + mpz_t __e_acsl_48; + int __e_acsl_49; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_48),(long)5); + __e_acsl_49 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y), + (__mpz_struct const *)(__e_acsl_48)); + if (! (__e_acsl_49 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_48)); } { - mpz_t __e_acsl_var_43; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_43),(long)0); + mpz_t __e_acsl_43; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_z), - (__mpz_struct const *)(__e_acsl_var_43)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_43)); + (__mpz_struct const *)(__e_acsl_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); } while (1) { { - int __e_acsl_var_44; - __e_acsl_var_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_z), - (__mpz_struct const *)(__e_acsl_y)); - if (! (__e_acsl_var_44 <= 0)) { break; } + int __e_acsl_44; + __e_acsl_44 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_z), + (__mpz_struct const *)(__e_acsl_y)); + if (! (__e_acsl_44 <= 0)) { break; } } { - mpz_t __e_acsl_var_39; - mpz_t __e_acsl_var_40; - mpz_t __e_acsl_var_41; - int __e_acsl_var_42; - __gmpz_init((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_39), + mpz_t __e_acsl_39; + mpz_t __e_acsl_40; + mpz_t __e_acsl_41; + int __e_acsl_42; + __gmpz_init((__mpz_struct *)(__e_acsl_39)); + __gmpz_add((__mpz_struct *)(__e_acsl_39), (__mpz_struct const *)(__e_acsl_x_5), (__mpz_struct const *)(__e_acsl_z)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_40),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_41)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_41), + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_40),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_41)); + __gmpz_add((__mpz_struct *)(__e_acsl_41), (__mpz_struct const *)(__e_acsl_y), - (__mpz_struct const *)(__e_acsl_var_40)); - __e_acsl_var_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_39), - (__mpz_struct const *)(__e_acsl_var_41)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_39)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_40)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); - if (! (__e_acsl_var_42 <= 0)) { - __e_acsl_var_38 = 0; + (__mpz_struct const *)(__e_acsl_40)); + __e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_39), + (__mpz_struct const *)(__e_acsl_41)); + __gmpz_clear((__mpz_struct *)(__e_acsl_39)); + __gmpz_clear((__mpz_struct *)(__e_acsl_40)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); + if (! (__e_acsl_42 <= 0)) { + __e_acsl_38 = 0; goto e_acsl_end_loop5; } } { - mpz_t __e_acsl_var_45; - mpz_t __e_acsl_var_46; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_45), - (long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_46)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_46), + mpz_t __e_acsl_45; + mpz_t __e_acsl_46; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_45),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_46)); + __gmpz_add((__mpz_struct *)(__e_acsl_46), (__mpz_struct const *)(__e_acsl_z), - (__mpz_struct const *)(__e_acsl_var_45)); + (__mpz_struct const *)(__e_acsl_45)); __gmpz_set((__mpz_struct *)(__e_acsl_z), - (__mpz_struct const *)(__e_acsl_var_46)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_45)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_46)); + (__mpz_struct const *)(__e_acsl_46)); + __gmpz_clear((__mpz_struct *)(__e_acsl_45)); + __gmpz_clear((__mpz_struct *)(__e_acsl_46)); } } { - mpz_t __e_acsl_var_50; - mpz_t __e_acsl_var_51; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_50), - (long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_51)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_51), + mpz_t __e_acsl_50; + mpz_t __e_acsl_51; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_50),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_51)); + __gmpz_add((__mpz_struct *)(__e_acsl_51), (__mpz_struct const *)(__e_acsl_y), - (__mpz_struct const *)(__e_acsl_var_50)); + (__mpz_struct const *)(__e_acsl_50)); __gmpz_set((__mpz_struct *)(__e_acsl_y), - (__mpz_struct const *)(__e_acsl_var_51)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_50)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_51)); + (__mpz_struct const *)(__e_acsl_51)); + __gmpz_clear((__mpz_struct *)(__e_acsl_50)); + __gmpz_clear((__mpz_struct *)(__e_acsl_51)); } } { - mpz_t __e_acsl_var_55; - mpz_t __e_acsl_var_56; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_55),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_56), + mpz_t __e_acsl_55; + mpz_t __e_acsl_56; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_55),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_56)); + __gmpz_add((__mpz_struct *)(__e_acsl_56), (__mpz_struct const *)(__e_acsl_x_5), - (__mpz_struct const *)(__e_acsl_var_55)); + (__mpz_struct const *)(__e_acsl_55)); __gmpz_set((__mpz_struct *)(__e_acsl_x_5), - (__mpz_struct const *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_55)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); + (__mpz_struct const *)(__e_acsl_56)); + __gmpz_clear((__mpz_struct *)(__e_acsl_55)); + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); } } e_acsl_end_loop5: ; - e_acsl_assert(__e_acsl_var_38,(char *)"Assertion", + e_acsl_assert(__e_acsl_38,(char *)"Assertion", (char *)"(\\forall integer x, integer y, integer z;\n ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n x+z <= y+1)", 18); __gmpz_clear((__mpz_struct *)(__e_acsl_x_5)); @@ -1147,59 +1143,59 @@ int main(void) /*@ assert ∃ ℤ x; (0 ≤ x ∧ x < 10) ∧ x ≡ 5; */ ; { - int __e_acsl_var_57; + int __e_acsl_57; mpz_t __e_acsl_x_6; - __e_acsl_var_57 = 0; + __e_acsl_57 = 0; __gmpz_init((__mpz_struct *)(__e_acsl_x_6)); { - mpz_t __e_acsl_var_60; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_60),(long)0); + mpz_t __e_acsl_60; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_60),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_x_6), - (__mpz_struct const *)(__e_acsl_var_60)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_60)); + (__mpz_struct const *)(__e_acsl_60)); + __gmpz_clear((__mpz_struct *)(__e_acsl_60)); } while (1) { { - mpz_t __e_acsl_var_61; - int __e_acsl_var_62; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_61),(long)10); - __e_acsl_var_62 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6), - (__mpz_struct const *)(__e_acsl_var_61)); - if (! (__e_acsl_var_62 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_61)); + mpz_t __e_acsl_61; + int __e_acsl_62; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_61),(long)10); + __e_acsl_62 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_61)); + if (! (__e_acsl_62 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_61)); } { - mpz_t __e_acsl_var_58; - int __e_acsl_var_59; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_58),(long)5); - __e_acsl_var_59 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6), - (__mpz_struct const *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - if (! (! (__e_acsl_var_59 == 0))) { - __e_acsl_var_57 = 1; + mpz_t __e_acsl_58; + int __e_acsl_59; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_58),(long)5); + __e_acsl_59 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_6), + (__mpz_struct const *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + if (! (! (__e_acsl_59 == 0))) { + __e_acsl_57 = 1; goto e_acsl_end_loop6; } } { - mpz_t __e_acsl_var_63; - mpz_t __e_acsl_var_64; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_64)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_64), + mpz_t __e_acsl_63; + mpz_t __e_acsl_64; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_64)); + __gmpz_add((__mpz_struct *)(__e_acsl_64), (__mpz_struct const *)(__e_acsl_x_6), - (__mpz_struct const *)(__e_acsl_var_63)); + (__mpz_struct const *)(__e_acsl_63)); __gmpz_set((__mpz_struct *)(__e_acsl_x_6), - (__mpz_struct const *)(__e_acsl_var_64)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_64)); + (__mpz_struct const *)(__e_acsl_64)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); + __gmpz_clear((__mpz_struct *)(__e_acsl_64)); } } e_acsl_end_loop6: ; - e_acsl_assert(__e_acsl_var_57,(char *)"Assertion", + e_acsl_assert(__e_acsl_57,(char *)"Assertion", (char *)"(\\exists integer x; (0 <= x && x < 10) && x == 5)", 23); __gmpz_clear((__mpz_struct *)(__e_acsl_x_6)); @@ -1209,153 +1205,153 @@ int main(void) assert ∀ ℤ x; 0 ≤ x ∧ x < 10 ⇒ (x%2 ≡ 0 ⇒ (∃ ℤ y; (0 ≤ y ∧ y ≤ x/2) ∧ x ≡ 2*y)); */ ; { - int __e_acsl_var_65; + int __e_acsl_65; mpz_t __e_acsl_x_7; - __e_acsl_var_65 = 1; + __e_acsl_65 = 1; __gmpz_init((__mpz_struct *)(__e_acsl_x_7)); { - mpz_t __e_acsl_var_84; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_84),(long)0); + mpz_t __e_acsl_84; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_84),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_84)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_84)); + (__mpz_struct const *)(__e_acsl_84)); + __gmpz_clear((__mpz_struct *)(__e_acsl_84)); } while (1) { { - mpz_t __e_acsl_var_85; - int __e_acsl_var_86; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_85),(long)10); - __e_acsl_var_86 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_85)); - if (! (__e_acsl_var_86 < 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_85)); + mpz_t __e_acsl_85; + int __e_acsl_86; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_85),(long)10); + __e_acsl_86 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_85)); + if (! (__e_acsl_86 < 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_85)); } { - mpz_t __e_acsl_var_66; - mpz_t __e_acsl_var_67; - int __e_acsl_var_68; - mpz_t __e_acsl_var_69; - int __e_acsl_var_70; - int __e_acsl_var_83; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_66),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_67),(long)0); - __e_acsl_var_68 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_66), - (__mpz_struct const *)(__e_acsl_var_67)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_69)); + mpz_t __e_acsl_66; + mpz_t __e_acsl_67; + int __e_acsl_68; + mpz_t __e_acsl_69; + int __e_acsl_70; + int __e_acsl_83; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_66),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_67),(long)0); + __e_acsl_68 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_66), + (__mpz_struct const *)(__e_acsl_67)); + __gmpz_init((__mpz_struct *)(__e_acsl_69)); /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_68 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_68 == 0),(char *)"Assertion", (char *)"(2 == 0)",28); - __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_var_69), + __gmpz_tdiv_r((__mpz_struct *)(__e_acsl_69), (__mpz_struct const *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_66)); - __e_acsl_var_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_69), - (__mpz_struct const *)(__e_acsl_var_67)); - if (! (__e_acsl_var_70 == 0)) { __e_acsl_var_83 = 1; } + (__mpz_struct const *)(__e_acsl_66)); + __e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_69), + (__mpz_struct const *)(__e_acsl_67)); + if (! (__e_acsl_70 == 0)) { __e_acsl_83 = 1; } else { - int __e_acsl_var_71; + int __e_acsl_71; mpz_t __e_acsl_y_2; - __e_acsl_var_71 = 0; + __e_acsl_71 = 0; __gmpz_init((__mpz_struct *)(__e_acsl_y_2)); { - mpz_t __e_acsl_var_75; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_75),(long)0); + mpz_t __e_acsl_75; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_75),(long)0); __gmpz_set((__mpz_struct *)(__e_acsl_y_2), - (__mpz_struct const *)(__e_acsl_var_75)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_75)); + (__mpz_struct const *)(__e_acsl_75)); + __gmpz_clear((__mpz_struct *)(__e_acsl_75)); } while (1) { { - mpz_t __e_acsl_var_76; - mpz_t __e_acsl_var_77; - int __e_acsl_var_78; - mpz_t __e_acsl_var_79; - int __e_acsl_var_80; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_76),(long)2); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_77),(long)0); - __e_acsl_var_78 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_76), - (__mpz_struct const *)(__e_acsl_var_77)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_79)); + mpz_t __e_acsl_76; + mpz_t __e_acsl_77; + int __e_acsl_78; + mpz_t __e_acsl_79; + int __e_acsl_80; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_76),(long)2); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_77),(long)0); + __e_acsl_78 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_76), + (__mpz_struct const *)(__e_acsl_77)); + __gmpz_init((__mpz_struct *)(__e_acsl_79)); /*@ assert 2 ≢ 0; */ ; - e_acsl_assert(! (__e_acsl_var_78 == 0),(char *)"Assertion", + e_acsl_assert(! (__e_acsl_78 == 0),(char *)"Assertion", (char *)"(2 == 0)",28); - __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_var_79), + __gmpz_tdiv_q((__mpz_struct *)(__e_acsl_79), (__mpz_struct const *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_76)); - __e_acsl_var_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2), - (__mpz_struct const *)(__e_acsl_var_79)); - if (! (__e_acsl_var_80 <= 0)) { break; } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_76)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_77)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_79)); + (__mpz_struct const *)(__e_acsl_76)); + __e_acsl_80 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_y_2), + (__mpz_struct const *)(__e_acsl_79)); + if (! (__e_acsl_80 <= 0)) { break; } + __gmpz_clear((__mpz_struct *)(__e_acsl_76)); + __gmpz_clear((__mpz_struct *)(__e_acsl_77)); + __gmpz_clear((__mpz_struct *)(__e_acsl_79)); } { - mpz_t __e_acsl_var_72; - mpz_t __e_acsl_var_73; - int __e_acsl_var_74; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_72),(long)2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_73)); - __gmpz_mul((__mpz_struct *)(__e_acsl_var_73), - (__mpz_struct const *)(__e_acsl_var_72), + mpz_t __e_acsl_72; + mpz_t __e_acsl_73; + int __e_acsl_74; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_72),(long)2); + __gmpz_init((__mpz_struct *)(__e_acsl_73)); + __gmpz_mul((__mpz_struct *)(__e_acsl_73), + (__mpz_struct const *)(__e_acsl_72), (__mpz_struct const *)(__e_acsl_y_2)); - __e_acsl_var_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_73)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_73)); - if (! (! (__e_acsl_var_74 == 0))) { - __e_acsl_var_71 = 1; + __e_acsl_74 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_x_7), + (__mpz_struct const *)(__e_acsl_73)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_73)); + if (! (! (__e_acsl_74 == 0))) { + __e_acsl_71 = 1; goto e_acsl_end_loop7; } } { - mpz_t __e_acsl_var_81; - mpz_t __e_acsl_var_82; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_81), + mpz_t __e_acsl_81; + mpz_t __e_acsl_82; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_81), (long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_82)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_82), + __gmpz_init((__mpz_struct *)(__e_acsl_82)); + __gmpz_add((__mpz_struct *)(__e_acsl_82), (__mpz_struct const *)(__e_acsl_y_2), - (__mpz_struct const *)(__e_acsl_var_81)); + (__mpz_struct const *)(__e_acsl_81)); __gmpz_set((__mpz_struct *)(__e_acsl_y_2), - (__mpz_struct const *)(__e_acsl_var_82)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_81)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_82)); + (__mpz_struct const *)(__e_acsl_82)); + __gmpz_clear((__mpz_struct *)(__e_acsl_81)); + __gmpz_clear((__mpz_struct *)(__e_acsl_82)); } } e_acsl_end_loop7: ; - __e_acsl_var_83 = __e_acsl_var_71; + __e_acsl_83 = __e_acsl_71; __gmpz_clear((__mpz_struct *)(__e_acsl_y_2)); } - __gmpz_clear((__mpz_struct *)(__e_acsl_var_66)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_67)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_69)); - if (! __e_acsl_var_83) { - __e_acsl_var_65 = 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_66)); + __gmpz_clear((__mpz_struct *)(__e_acsl_67)); + __gmpz_clear((__mpz_struct *)(__e_acsl_69)); + if (! __e_acsl_83) { + __e_acsl_65 = 0; goto e_acsl_end_loop8; } } { - mpz_t __e_acsl_var_87; - mpz_t __e_acsl_var_88; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_87),(long)((char)1)); - __gmpz_init((__mpz_struct *)(__e_acsl_var_88)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_88), + mpz_t __e_acsl_87; + mpz_t __e_acsl_88; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_87),(long)((char)1)); + __gmpz_init((__mpz_struct *)(__e_acsl_88)); + __gmpz_add((__mpz_struct *)(__e_acsl_88), (__mpz_struct const *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_87)); + (__mpz_struct const *)(__e_acsl_87)); __gmpz_set((__mpz_struct *)(__e_acsl_x_7), - (__mpz_struct const *)(__e_acsl_var_88)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_87)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_88)); + (__mpz_struct const *)(__e_acsl_88)); + __gmpz_clear((__mpz_struct *)(__e_acsl_87)); + __gmpz_clear((__mpz_struct *)(__e_acsl_88)); } } e_acsl_end_loop8: ; - e_acsl_assert(__e_acsl_var_65,(char *)"Assertion", + e_acsl_assert(__e_acsl_65,(char *)"Assertion", (char *)"(\\forall integer x; 0 <= x && x < 10 ==>\n (x%2 == 0 ==> (\\exists integer y; (0 <= y && y <= x/2) && x == 2*y)))", 27); __gmpz_clear((__mpz_struct *)(__e_acsl_x_7)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle index 72f97d6b7064ccfb1db7d1460624866eec164e84..e6021325625e71b99e24073b3c4cfa9303a1aa1b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/quantif.res.oracle @@ -137,78 +137,78 @@ int main(void) int __retres; /*@ assert ∀ int x; 0 ≤ x ∧ x ≤ 1 ⇒ x ≡ 0 ∨ x ≡ 1; */ ; { - int __e_acsl_var; + int __e_acsl; int __e_acsl_x; - __e_acsl_var = 1; + __e_acsl = 1; __e_acsl_x = 0; while (1) { if (! (__e_acsl_x <= 1)) { break; } - { int __e_acsl_var_2; - if (__e_acsl_x == 0) { __e_acsl_var_2 = 1; } - else { __e_acsl_var_2 = __e_acsl_x == 1; } - if (! __e_acsl_var_2) { - __e_acsl_var = 0; + { int __e_acsl_2; + if (__e_acsl_x == 0) { __e_acsl_2 = 1; } + else { __e_acsl_2 = __e_acsl_x == 1; } + if (! __e_acsl_2) { + __e_acsl = 0; goto e_acsl_end_loop1; } } __e_acsl_x ++; } e_acsl_end_loop1: ; - e_acsl_assert(__e_acsl_var,(char *)"Assertion", + e_acsl_assert(__e_acsl,(char *)"Assertion", (char *)"(\\forall int x; 0 <= x && x <= 1 ==> x == 0 || x == 1)", 11); } /*@ assert ∀ int x; 0 < x ∧ x ≤ 1 ⇒ x ≡ 1; */ ; { - int __e_acsl_var_3; + int __e_acsl_3; int __e_acsl_x_2; - __e_acsl_var_3 = 1; + __e_acsl_3 = 1; __e_acsl_x_2 = 0 + 1; while (1) { if (! (__e_acsl_x_2 <= 1)) { break; } if (! (__e_acsl_x_2 == 1)) { - __e_acsl_var_3 = 0; + __e_acsl_3 = 0; goto e_acsl_end_loop2; } __e_acsl_x_2 ++; } e_acsl_end_loop2: ; - e_acsl_assert(__e_acsl_var_3,(char *)"Assertion", + e_acsl_assert(__e_acsl_3,(char *)"Assertion", (char *)"(\\forall int x; 0 < x && x <= 1 ==> x == 1)",12); } /*@ assert ∀ int x; 0 < x ∧ x < 1 ⇒ \false; */ ; { - int __e_acsl_var_4; + int __e_acsl_4; int __e_acsl_x_3; - __e_acsl_var_4 = 1; + __e_acsl_4 = 1; __e_acsl_x_3 = 0 + 1; while (1) { if (! (__e_acsl_x_3 < 1)) { break; } - __e_acsl_var_4 = 0; + __e_acsl_4 = 0; goto e_acsl_end_loop3; __e_acsl_x_3 ++; } e_acsl_end_loop3: ; - e_acsl_assert(__e_acsl_var_4,(char *)"Assertion", + e_acsl_assert(__e_acsl_4,(char *)"Assertion", (char *)"(\\forall int x; 0 < x && x < 1 ==> \\false)",13); } /*@ assert ∀ int x; 0 ≤ x ∧ x < 1 ⇒ x ≡ 0; */ ; { - int __e_acsl_var_5; + int __e_acsl_5; int __e_acsl_x_4; - __e_acsl_var_5 = 1; + __e_acsl_5 = 1; __e_acsl_x_4 = 0; while (1) { if (! (__e_acsl_x_4 < 1)) { break; } if (! (__e_acsl_x_4 == 0)) { - __e_acsl_var_5 = 0; + __e_acsl_5 = 0; goto e_acsl_end_loop4; } __e_acsl_x_4 ++; } e_acsl_end_loop4: ; - e_acsl_assert(__e_acsl_var_5,(char *)"Assertion", + e_acsl_assert(__e_acsl_5,(char *)"Assertion", (char *)"(\\forall int x; 0 <= x && x < 1 ==> x == 0)",14); } @@ -217,11 +217,11 @@ int main(void) ((0 ≤ x ∧ x < 2) ∧ (0 ≤ y ∧ y < 5)) ∧ (0 ≤ z ∧ z ≤ y) ⇒ x+z ≤ y+1; */ ; { - int __e_acsl_var_6; + int __e_acsl_6; int __e_acsl_x_5; int __e_acsl_y; int __e_acsl_z; - __e_acsl_var_6 = 1; + __e_acsl_6 = 1; __e_acsl_x_5 = 0; while (1) { if (! (__e_acsl_x_5 < 2)) { break; } @@ -232,7 +232,7 @@ int main(void) while (1) { if (! (__e_acsl_z <= __e_acsl_y)) { break; } if (! (__e_acsl_x_5 + __e_acsl_z <= __e_acsl_y + 1)) { - __e_acsl_var_6 = 0; + __e_acsl_6 = 0; goto e_acsl_end_loop5; } __e_acsl_z ++; @@ -242,27 +242,26 @@ int main(void) __e_acsl_x_5 ++; } e_acsl_end_loop5: ; - e_acsl_assert(__e_acsl_var_6,(char *)"Assertion", + e_acsl_assert(__e_acsl_6,(char *)"Assertion", (char *)"(\\forall int x, int y, int z;\n ((0 <= x && x < 2) && (0 <= y && y < 5)) && (0 <= z && z <= y) ==>\n x+z <= y+1)", 18); } /*@ assert ∃ int x; (0 ≤ x ∧ x < 10) ∧ x ≡ 5; */ ; { - int __e_acsl_var_7; + int __e_acsl_7; int __e_acsl_x_6; - __e_acsl_var_7 = 0; + __e_acsl_7 = 0; __e_acsl_x_6 = 0; while (1) { if (! (__e_acsl_x_6 < 10)) { break; } if (! (! (__e_acsl_x_6 == 5))) { - __e_acsl_var_7 = 1; - goto e_acsl_end_loop6; - } + __e_acsl_7 = 1; + goto e_acsl_end_loop6; } __e_acsl_x_6 ++; } e_acsl_end_loop6: ; - e_acsl_assert(__e_acsl_var_7,(char *)"Assertion", + e_acsl_assert(__e_acsl_7,(char *)"Assertion", (char *)"(\\exists int x; (0 <= x && x < 10) && x == 5)", 23); } @@ -271,52 +270,52 @@ int main(void) assert ∀ int x; 0 ≤ x ∧ x < 10 ⇒ (x%2 ≡ 0 ⇒ (∃ int y; (0 ≤ y ∧ y ≤ x/2) ∧ x ≡ 2*y)); */ ; { - int __e_acsl_var_8; + int __e_acsl_8; int __e_acsl_x_7; - __e_acsl_var_8 = 1; + __e_acsl_8 = 1; __e_acsl_x_7 = 0; while (1) { if (! (__e_acsl_x_7 < 10)) { break; } { - int __e_acsl_var_9; - int __e_acsl_var_12; + int __e_acsl_9; + int __e_acsl_12; /*@ assert 2 ≢ 0; */ ; e_acsl_assert(! (2 == 0),(char *)"Assertion",(char *)"(2 == 0)",28); - __e_acsl_var_9 = __e_acsl_x_7 % 2; - if (! (__e_acsl_var_9 == 0)) { __e_acsl_var_12 = 1; } + __e_acsl_9 = __e_acsl_x_7 % 2; + if (! (__e_acsl_9 == 0)) { __e_acsl_12 = 1; } else { - int __e_acsl_var_10; + int __e_acsl_10; int __e_acsl_y_2; - __e_acsl_var_10 = 0; + __e_acsl_10 = 0; __e_acsl_y_2 = 0; while (1) { { - int __e_acsl_var_11; + int __e_acsl_11; /*@ assert 2 ≢ 0; */ ; e_acsl_assert(! (2 == 0),(char *)"Assertion", (char *)"(2 == 0)",28); - __e_acsl_var_11 = __e_acsl_x_7 / 2; - if (! (__e_acsl_y_2 <= __e_acsl_var_11)) { break; } + __e_acsl_11 = __e_acsl_x_7 / 2; + if (! (__e_acsl_y_2 <= __e_acsl_11)) { break; } } if (! (! (__e_acsl_x_7 == 2 * __e_acsl_y_2))) { - __e_acsl_var_10 = 1; + __e_acsl_10 = 1; goto e_acsl_end_loop7; } __e_acsl_y_2 ++; } e_acsl_end_loop7: ; - __e_acsl_var_12 = __e_acsl_var_10; + __e_acsl_12 = __e_acsl_10; } - if (! __e_acsl_var_12) { - __e_acsl_var_8 = 0; + if (! __e_acsl_12) { + __e_acsl_8 = 0; goto e_acsl_end_loop8; } } __e_acsl_x_7 ++; } e_acsl_end_loop8: ; - e_acsl_assert(__e_acsl_var_8,(char *)"Assertion", + e_acsl_assert(__e_acsl_8,(char *)"Assertion", (char *)"(\\forall int x; 0 <= x && x < 10 ==>\n (x%2 == 0 ==> (\\exists int y; (0 <= y && y <= x/2) && x == 2*y)))", 27); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle index e31ce740de6627db9c061f8848da7bcff0c1afcf..162528d4f60bb6e8b215069539ac059b96884df3 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.1.res.oracle @@ -110,12 +110,12 @@ PROJECT_FILE.i:282:[value] Function h: postcondition got status valid. [value] Values at end of function e_acsl_assert: [value] Values at end of function f: x ∈ {0} - __e_acsl_var_2 ∈ {1} - __e_acsl_var_4 ∈ {1} + __e_acsl_2 ∈ {1} + __e_acsl_4 ∈ {1} [value] Values at end of function g: - __e_acsl_var[0] ∈ [--..--] or UNINITIALIZED - __e_acsl_var_2[0] ∈ [--..--] or UNINITIALIZED - __e_acsl_var_3 ∈ [--..--] + __e_acsl[0] ∈ [--..--] or UNINITIALIZED + __e_acsl_2[0] ∈ [--..--] or UNINITIALIZED + __e_acsl_3 ∈ [--..--] [value] Values at end of function h: __retres ∈ {0} [value] Values at end of function main: @@ -174,35 +174,34 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) /*@ ensures \result ≡ (int)(\old(x)-\old(x)); */ int f(int x) { - int __e_acsl_var_2; - int __e_acsl_var_4; - __e_acsl_var_4 = x; - __e_acsl_var_2 = x; + int __e_acsl_2; + int __e_acsl_4; + __e_acsl_4 = x; + __e_acsl_2 = x; x = 0; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_3; - mpz_t __e_acsl_var_5; - unsigned long __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_3),(long)__e_acsl_var_2); - __gmpz_init((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_sub((__mpz_struct *)(__e_acsl_var_5), - (__mpz_struct const *)(__e_acsl_var_3), - (__mpz_struct const *)(__e_acsl_var_3)); - __e_acsl_var_6 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_var_5)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7), - (long)((int)__e_acsl_var_6)); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_7)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Postcondition", + mpz_t __e_acsl; + mpz_t __e_acsl_3; + mpz_t __e_acsl_5; + unsigned long __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_3),(long)__e_acsl_2); + __gmpz_init((__mpz_struct *)(__e_acsl_5)); + __gmpz_sub((__mpz_struct *)(__e_acsl_5), + (__mpz_struct const *)(__e_acsl_3), + (__mpz_struct const *)(__e_acsl_3)); + __e_acsl_6 = __gmpz_get_ui((__mpz_struct const *)(__e_acsl_5)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)((int)__e_acsl_6)); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_7)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Postcondition", (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_3)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_3)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); return (x); } @@ -212,17 +211,17 @@ int Y = 1; /*@ ensures \result ≡ Y; */ int g(int x) { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)Y); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)Y); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition", (char *)"(\\result == Y)",18); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); return (x); } @@ -232,17 +231,17 @@ int h(void) int __retres; __retres = 0; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)__retres); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)__retres); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition", (char *)"(\\result == 0)",23); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle index 6a2b1b6b0c044994d81bbaac3a1c6e43bee9f908..15a6ce92be8144276e56199abcff6251e8934498 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/result.res.oracle @@ -37,8 +37,8 @@ PROJECT_FILE.i:251:[value] Function h: postcondition got status valid. [value] Values at end of function e_acsl_assert: [value] Values at end of function f: x ∈ {0} - __e_acsl_var ∈ {1} - __e_acsl_var_2 ∈ {1} + __e_acsl ∈ {1} + __e_acsl_2 ∈ {1} [value] Values at end of function g: [value] Values at end of function h: __retres ∈ {0} @@ -65,12 +65,12 @@ void e_acsl_assert(int predicate, char *kind, char *pred_txt, int line) /*@ ensures \result ≡ (int)(\old(x)-\old(x)); */ int f(int x) { - int __e_acsl_var; - int __e_acsl_var_2; - __e_acsl_var_2 = x; - __e_acsl_var = x; + int __e_acsl; + int __e_acsl_2; + __e_acsl_2 = x; + __e_acsl = x; x = 0; - e_acsl_assert(x == (int)((long long)__e_acsl_var - (long long)__e_acsl_var_2), + e_acsl_assert(x == (int)((long long)__e_acsl - (long long)__e_acsl_2), (char *)"Postcondition", (char *)"(\\result == (int)(\\old(x)-\\old(x)))",7); return (x); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle index 18ae5401eaac070ade62ecb978d17685dacc7da8..6d37e2039208c5cca3777742242ad5bed638aed7 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.1.res.oracle @@ -21,31 +21,31 @@ PROJECT_FILE.i:221:[value] Function e_acsl_assert: precondition got status unkno [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:245. + Called from PROJECT_FILE.i:244. PROJECT_FILE.i:111:[value] Function __gmpz_clear: precondition got status valid. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:246. + Called from PROJECT_FILE.i:245. [value] Done for function __gmpz_clear -PROJECT_FILE.i:250:[value] Assertion got status valid. +PROJECT_FILE.i:249:[value] Assertion got status valid. [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:255. + Called from PROJECT_FILE.i:254. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_init_set_si <- main. - Called from PROJECT_FILE.i:256. + Called from PROJECT_FILE.i:255. [value] Done for function __gmpz_init_set_si [value] computing for function __gmpz_cmp <- main. - Called from PROJECT_FILE.i:257. + Called from PROJECT_FILE.i:256. [value] Done for function __gmpz_cmp [value] computing for function e_acsl_assert <- main. - Called from PROJECT_FILE.i:258. + Called from PROJECT_FILE.i:257. [value] Recording results for e_acsl_assert [value] Done for function e_acsl_assert [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:260. + Called from PROJECT_FILE.i:259. [value] Done for function __gmpz_clear [value] computing for function __gmpz_clear <- main. - Called from PROJECT_FILE.i:261. + Called from PROJECT_FILE.i:260. [value] Done for function __gmpz_clear [value] Recording results for main [value] done for function main @@ -98,32 +98,32 @@ int main(void) x = 0; /*@ assert sizeof(int) ≡ sizeof(x); */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)4); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion", + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)4); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion", (char *)"(sizeof(int) == sizeof(x))",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ assert sizeof("totototototo") ≡ sizeof(char *); */ ; { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)4); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)4); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Assertion", + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)4); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)4); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Assertion", (char *)"(sizeof(\"totototototo\") == sizeof(char *))",10); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle index 59dd91e988bdc2910938334d2e0927c3f4db62eb..f9d2c57dd3b8919fd69f6e869f64c6d755ea7c52 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.1.res.oracle @@ -497,86 +497,86 @@ int main(void) y = 2; /*@ ensures x ≡ 1; */ { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; x = 1; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)1); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Postcondition", - (char *)"(x == 1)",9); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)1); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Postcondition",(char *)"(x == 1)", + 9); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } /*@ ensures x ≡ 2; ensures y ≡ 2; */ { - mpz_t __e_acsl_var_4; - mpz_t __e_acsl_var_5; - int __e_acsl_var_6; - mpz_t __e_acsl_var_7; - int __e_acsl_var_8; + mpz_t __e_acsl_4; + mpz_t __e_acsl_5; + int __e_acsl_6; + mpz_t __e_acsl_7; + int __e_acsl_8; x = 2; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_4),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_5),(long)2); - __e_acsl_var_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_4), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_6 == 0,(char *)"Postcondition", - (char *)"(x == 2)",12); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_7),(long)y); - __e_acsl_var_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_7), - (__mpz_struct const *)(__e_acsl_var_5)); - e_acsl_assert(__e_acsl_var_8 == 0,(char *)"Postcondition", - (char *)"(y == 2)",13); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_4)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_5)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_7)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_4),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_5),(long)2); + __e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_4), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_6 == 0,(char *)"Postcondition",(char *)"(x == 2)", + 12); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_7),(long)y); + __e_acsl_8 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_7), + (__mpz_struct const *)(__e_acsl_5)); + e_acsl_assert(__e_acsl_8 == 0,(char *)"Postcondition",(char *)"(y == 2)", + 13); + __gmpz_clear((__mpz_struct *)(__e_acsl_4)); + __gmpz_clear((__mpz_struct *)(__e_acsl_5)); + __gmpz_clear((__mpz_struct *)(__e_acsl_7)); } /*@ requires x ≡ 2; */ { - mpz_t __e_acsl_var_9; - mpz_t __e_acsl_var_10; - int __e_acsl_var_11; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_9),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_10),(long)2); - __e_acsl_var_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_9), - (__mpz_struct const *)(__e_acsl_var_10)); - e_acsl_assert(__e_acsl_var_11 == 0,(char *)"Precondition", - (char *)"(x == 2)",16); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_9)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_10)); + mpz_t __e_acsl_9; + mpz_t __e_acsl_10; + int __e_acsl_11; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_9),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_10),(long)2); + __e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_9), + (__mpz_struct const *)(__e_acsl_10)); + e_acsl_assert(__e_acsl_11 == 0,(char *)"Precondition",(char *)"(x == 2)", + 16); + __gmpz_clear((__mpz_struct *)(__e_acsl_9)); + __gmpz_clear((__mpz_struct *)(__e_acsl_10)); x ++; } /*@ requires x ≡ 3; requires y ≡ 2; */ { - mpz_t __e_acsl_var_12; - mpz_t __e_acsl_var_13; - int __e_acsl_var_14; - mpz_t __e_acsl_var_15; - mpz_t __e_acsl_var_16; - int __e_acsl_var_17; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_12),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_13),(long)3); - __e_acsl_var_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_12), - (__mpz_struct const *)(__e_acsl_var_13)); - e_acsl_assert(__e_acsl_var_14 == 0,(char *)"Precondition", - (char *)"(x == 3)",19); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_15),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_16),(long)2); - __e_acsl_var_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_15), - (__mpz_struct const *)(__e_acsl_var_16)); - e_acsl_assert(__e_acsl_var_17 == 0,(char *)"Precondition", - (char *)"(y == 2)",20); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_12)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_13)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_15)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_16)); + mpz_t __e_acsl_12; + mpz_t __e_acsl_13; + int __e_acsl_14; + mpz_t __e_acsl_15; + mpz_t __e_acsl_16; + int __e_acsl_17; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_12),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_13),(long)3); + __e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_12), + (__mpz_struct const *)(__e_acsl_13)); + e_acsl_assert(__e_acsl_14 == 0,(char *)"Precondition",(char *)"(x == 3)", + 19); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_15),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_16),(long)2); + __e_acsl_17 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_15), + (__mpz_struct const *)(__e_acsl_16)); + e_acsl_assert(__e_acsl_17 == 0,(char *)"Precondition",(char *)"(y == 2)", + 20); + __gmpz_clear((__mpz_struct *)(__e_acsl_12)); + __gmpz_clear((__mpz_struct *)(__e_acsl_13)); + __gmpz_clear((__mpz_struct *)(__e_acsl_15)); + __gmpz_clear((__mpz_struct *)(__e_acsl_16)); x += y; } @@ -591,74 +591,74 @@ int main(void) */ { - mpz_t __e_acsl_var_27; - mpz_t __e_acsl_var_28; - int __e_acsl_var_29; - mpz_t __e_acsl_var_30; - mpz_t __e_acsl_var_31; - mpz_t __e_acsl_var_32; - int __e_acsl_var_33; + mpz_t __e_acsl_27; + mpz_t __e_acsl_28; + int __e_acsl_29; + mpz_t __e_acsl_30; + mpz_t __e_acsl_31; + mpz_t __e_acsl_32; + int __e_acsl_33; { - mpz_t __e_acsl_var_18; - mpz_t __e_acsl_var_19; - int __e_acsl_var_20; - mpz_t __e_acsl_var_21; - mpz_t __e_acsl_var_22; - mpz_t __e_acsl_var_23; - int __e_acsl_var_24; - mpz_t __e_acsl_var_25; - int __e_acsl_var_26; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_18),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_19),(long)5); - __e_acsl_var_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_19)); - e_acsl_assert(__e_acsl_var_20 == 0,(char *)"Precondition", + mpz_t __e_acsl_18; + mpz_t __e_acsl_19; + int __e_acsl_20; + mpz_t __e_acsl_21; + mpz_t __e_acsl_22; + mpz_t __e_acsl_23; + int __e_acsl_24; + mpz_t __e_acsl_25; + int __e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_18),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_19),(long)5); + __e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_19)); + e_acsl_assert(__e_acsl_20 == 0,(char *)"Precondition", (char *)"(x == 5)",24); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_21),(long)3); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_22),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_23), - (__mpz_struct const *)(__e_acsl_var_21), - (__mpz_struct const *)(__e_acsl_var_22)); - __e_acsl_var_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_18), - (__mpz_struct const *)(__e_acsl_var_23)); - e_acsl_assert(__e_acsl_var_24 == 0,(char *)"Precondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_21),(long)3); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_22),(long)y); + __gmpz_init((__mpz_struct *)(__e_acsl_23)); + __gmpz_add((__mpz_struct *)(__e_acsl_23), + (__mpz_struct const *)(__e_acsl_21), + (__mpz_struct const *)(__e_acsl_22)); + __e_acsl_24 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_18), + (__mpz_struct const *)(__e_acsl_23)); + e_acsl_assert(__e_acsl_24 == 0,(char *)"Precondition", (char *)"(x == 3+y)",27); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_25),(long)2); - __e_acsl_var_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_22), - (__mpz_struct const *)(__e_acsl_var_25)); - e_acsl_assert(__e_acsl_var_26 == 0,(char *)"Precondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_25),(long)2); + __e_acsl_26 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_22), + (__mpz_struct const *)(__e_acsl_25)); + e_acsl_assert(__e_acsl_26 == 0,(char *)"Precondition", (char *)"(y == 2)",28); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_18)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_19)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_21)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_22)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_23)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_25)); + __gmpz_clear((__mpz_struct *)(__e_acsl_18)); + __gmpz_clear((__mpz_struct *)(__e_acsl_19)); + __gmpz_clear((__mpz_struct *)(__e_acsl_21)); + __gmpz_clear((__mpz_struct *)(__e_acsl_22)); + __gmpz_clear((__mpz_struct *)(__e_acsl_23)); + __gmpz_clear((__mpz_struct *)(__e_acsl_25)); x = 3; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_27),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_28),(long)3); - __e_acsl_var_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27), - (__mpz_struct const *)(__e_acsl_var_28)); - e_acsl_assert(__e_acsl_var_29 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_27),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_28),(long)3); + __e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_27), + (__mpz_struct const *)(__e_acsl_28)); + e_acsl_assert(__e_acsl_29 == 0,(char *)"Postcondition", (char *)"(x == 3)",25); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_30),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_31),(long)1); - __gmpz_init((__mpz_struct *)(__e_acsl_var_32)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_32), - (__mpz_struct const *)(__e_acsl_var_30), - (__mpz_struct const *)(__e_acsl_var_31)); - __e_acsl_var_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_27), - (__mpz_struct const *)(__e_acsl_var_32)); - e_acsl_assert(__e_acsl_var_33 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_30),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_31),(long)1); + __gmpz_init((__mpz_struct *)(__e_acsl_32)); + __gmpz_add((__mpz_struct *)(__e_acsl_32), + (__mpz_struct const *)(__e_acsl_30), + (__mpz_struct const *)(__e_acsl_31)); + __e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_27), + (__mpz_struct const *)(__e_acsl_32)); + e_acsl_assert(__e_acsl_33 == 0,(char *)"Postcondition", (char *)"(x == y+1)",29); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_27)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_28)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_30)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_31)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_32)); + __gmpz_clear((__mpz_struct *)(__e_acsl_27)); + __gmpz_clear((__mpz_struct *)(__e_acsl_28)); + __gmpz_clear((__mpz_struct *)(__e_acsl_30)); + __gmpz_clear((__mpz_struct *)(__e_acsl_31)); + __gmpz_clear((__mpz_struct *)(__e_acsl_32)); } /*@ behavior b1: @@ -673,138 +673,138 @@ int main(void) */ { - mpz_t __e_acsl_var_34; - mpz_t __e_acsl_var_35; - int __e_acsl_var_36; - int __e_acsl_var_40; - mpz_t __e_acsl_var_41; - int __e_acsl_var_42; - int __e_acsl_var_46; - int __e_acsl_var_50; - int __e_acsl_var_51; - int __e_acsl_var_55; - int __e_acsl_var_61; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_34),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_35),(long)1); - __e_acsl_var_36 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_35)); - if (! (__e_acsl_var_36 == 0)) { __e_acsl_var_40 = 1; } + mpz_t __e_acsl_34; + mpz_t __e_acsl_35; + int __e_acsl_36; + int __e_acsl_40; + mpz_t __e_acsl_41; + int __e_acsl_42; + int __e_acsl_46; + int __e_acsl_50; + int __e_acsl_51; + int __e_acsl_55; + int __e_acsl_61; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_34),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_35),(long)1); + __e_acsl_36 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_35)); + if (! (__e_acsl_36 == 0)) { __e_acsl_40 = 1; } else { - mpz_t __e_acsl_var_37; - mpz_t __e_acsl_var_38; - int __e_acsl_var_39; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_37),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_38),(long)0); - __e_acsl_var_39 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_37), - (__mpz_struct const *)(__e_acsl_var_38)); - __e_acsl_var_40 = __e_acsl_var_39 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_37)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_38)); + mpz_t __e_acsl_37; + mpz_t __e_acsl_38; + int __e_acsl_39; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_37),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_38),(long)0); + __e_acsl_39 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_37), + (__mpz_struct const *)(__e_acsl_38)); + __e_acsl_40 = __e_acsl_39 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_37)); + __gmpz_clear((__mpz_struct *)(__e_acsl_38)); } - e_acsl_assert(__e_acsl_var_40,(char *)"Precondition", + e_acsl_assert(__e_acsl_40,(char *)"Precondition", (char *)"(x == 1 ==> x == 0)",34); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_41),(long)3); - __e_acsl_var_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_41)); - if (__e_acsl_var_42 == 0) { - mpz_t __e_acsl_var_43; - mpz_t __e_acsl_var_44; - int __e_acsl_var_45; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_43),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_44),(long)2); - __e_acsl_var_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_43), - (__mpz_struct const *)(__e_acsl_var_44)); - __e_acsl_var_46 = __e_acsl_var_45 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_43)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_44)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_41),(long)3); + __e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_41)); + if (__e_acsl_42 == 0) { + mpz_t __e_acsl_43; + mpz_t __e_acsl_44; + int __e_acsl_45; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_43),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_44),(long)2); + __e_acsl_45 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_43), + (__mpz_struct const *)(__e_acsl_44)); + __e_acsl_46 = __e_acsl_45 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_43)); + __gmpz_clear((__mpz_struct *)(__e_acsl_44)); } - else { __e_acsl_var_46 = 0; } - if (! __e_acsl_var_46) { __e_acsl_var_50 = 1; } + else { __e_acsl_46 = 0; } + if (! __e_acsl_46) { __e_acsl_50 = 1; } else { - mpz_t __e_acsl_var_47; - mpz_t __e_acsl_var_48; - int __e_acsl_var_49; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_47),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_48),(long)3); - __e_acsl_var_49 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_47), - (__mpz_struct const *)(__e_acsl_var_48)); - __e_acsl_var_50 = __e_acsl_var_49 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_47)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_48)); + mpz_t __e_acsl_47; + mpz_t __e_acsl_48; + int __e_acsl_49; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_47),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_48),(long)3); + __e_acsl_49 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_47), + (__mpz_struct const *)(__e_acsl_48)); + __e_acsl_50 = __e_acsl_49 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_47)); + __gmpz_clear((__mpz_struct *)(__e_acsl_48)); } - e_acsl_assert(__e_acsl_var_50,(char *)"Precondition", + e_acsl_assert(__e_acsl_50,(char *)"Precondition", (char *)"(x == 3 && y == 2 ==> x == 3)",38); - __e_acsl_var_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_34), - (__mpz_struct const *)(__e_acsl_var_41)); - if (__e_acsl_var_51 == 0) { - mpz_t __e_acsl_var_52; - mpz_t __e_acsl_var_53; - int __e_acsl_var_54; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_52),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_53),(long)2); - __e_acsl_var_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_52), - (__mpz_struct const *)(__e_acsl_var_53)); - __e_acsl_var_55 = __e_acsl_var_54 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_52)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_53)); + __e_acsl_51 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_34), + (__mpz_struct const *)(__e_acsl_41)); + if (__e_acsl_51 == 0) { + mpz_t __e_acsl_52; + mpz_t __e_acsl_53; + int __e_acsl_54; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_52),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_53),(long)2); + __e_acsl_54 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_52), + (__mpz_struct const *)(__e_acsl_53)); + __e_acsl_55 = __e_acsl_54 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_52)); + __gmpz_clear((__mpz_struct *)(__e_acsl_53)); } - else { __e_acsl_var_55 = 0; } - if (! __e_acsl_var_55) { __e_acsl_var_61 = 1; } + else { __e_acsl_55 = 0; } + if (! __e_acsl_55) { __e_acsl_61 = 1; } else { - mpz_t __e_acsl_var_56; - mpz_t __e_acsl_var_57; - mpz_t __e_acsl_var_58; - mpz_t __e_acsl_var_59; - int __e_acsl_var_60; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_56),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_57),(long)y); - __gmpz_init((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_add((__mpz_struct *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_56), - (__mpz_struct const *)(__e_acsl_var_57)); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_59),(long)5); - __e_acsl_var_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_58), - (__mpz_struct const *)(__e_acsl_var_59)); - __e_acsl_var_61 = __e_acsl_var_60 == 0; - __gmpz_clear((__mpz_struct *)(__e_acsl_var_56)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_57)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_58)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_59)); + mpz_t __e_acsl_56; + mpz_t __e_acsl_57; + mpz_t __e_acsl_58; + mpz_t __e_acsl_59; + int __e_acsl_60; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_56),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_57),(long)y); + __gmpz_init((__mpz_struct *)(__e_acsl_58)); + __gmpz_add((__mpz_struct *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_56), + (__mpz_struct const *)(__e_acsl_57)); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_59),(long)5); + __e_acsl_60 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_58), + (__mpz_struct const *)(__e_acsl_59)); + __e_acsl_61 = __e_acsl_60 == 0; + __gmpz_clear((__mpz_struct *)(__e_acsl_56)); + __gmpz_clear((__mpz_struct *)(__e_acsl_57)); + __gmpz_clear((__mpz_struct *)(__e_acsl_58)); + __gmpz_clear((__mpz_struct *)(__e_acsl_59)); } - e_acsl_assert(__e_acsl_var_61,(char *)"Precondition", + e_acsl_assert(__e_acsl_61,(char *)"Precondition", (char *)"(x == 3 && y == 2 ==> x+y == 5)",39); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_34)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_35)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_41)); + __gmpz_clear((__mpz_struct *)(__e_acsl_34)); + __gmpz_clear((__mpz_struct *)(__e_acsl_35)); + __gmpz_clear((__mpz_struct *)(__e_acsl_41)); x += y; } /*@ requires x ≡ 5; */ { - mpz_t __e_acsl_var_62; - mpz_t __e_acsl_var_63; - int __e_acsl_var_64; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_62),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_63),(long)5); - __e_acsl_var_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_62), - (__mpz_struct const *)(__e_acsl_var_63)); - e_acsl_assert(__e_acsl_var_64 == 0,(char *)"Precondition", - (char *)"(x == 5)",42); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_62)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_63)); + mpz_t __e_acsl_62; + mpz_t __e_acsl_63; + int __e_acsl_64; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_62),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_63),(long)5); + __e_acsl_64 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_62), + (__mpz_struct const *)(__e_acsl_63)); + e_acsl_assert(__e_acsl_64 == 0,(char *)"Precondition",(char *)"(x == 5)", + 42); + __gmpz_clear((__mpz_struct *)(__e_acsl_62)); + __gmpz_clear((__mpz_struct *)(__e_acsl_63)); /*@ requires y ≡ 2; */ { - mpz_t __e_acsl_var_65; - mpz_t __e_acsl_var_66; - int __e_acsl_var_67; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_65),(long)y); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_66),(long)2); - __e_acsl_var_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_65), - (__mpz_struct const *)(__e_acsl_var_66)); - e_acsl_assert(__e_acsl_var_67 == 0,(char *)"Precondition", + mpz_t __e_acsl_65; + mpz_t __e_acsl_66; + int __e_acsl_67; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_65),(long)y); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_66),(long)2); + __e_acsl_67 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_65), + (__mpz_struct const *)(__e_acsl_66)); + e_acsl_assert(__e_acsl_67 == 0,(char *)"Precondition", (char *)"(y == 2)",43); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_65)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_66)); + __gmpz_clear((__mpz_struct *)(__e_acsl_65)); + __gmpz_clear((__mpz_struct *)(__e_acsl_66)); x += y; } } @@ -812,32 +812,32 @@ int main(void) /*@ requires x ≡ 7; ensures x ≡ 7; */ { - mpz_t __e_acsl_var_71; - mpz_t __e_acsl_var_72; - int __e_acsl_var_73; + mpz_t __e_acsl_71; + mpz_t __e_acsl_72; + int __e_acsl_73; { - mpz_t __e_acsl_var_68; - mpz_t __e_acsl_var_69; - int __e_acsl_var_70; - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_68),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_69),(long)7); - __e_acsl_var_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_68), - (__mpz_struct const *)(__e_acsl_var_69)); - e_acsl_assert(__e_acsl_var_70 == 0,(char *)"Precondition", + mpz_t __e_acsl_68; + mpz_t __e_acsl_69; + int __e_acsl_70; + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_68),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_69),(long)7); + __e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_68), + (__mpz_struct const *)(__e_acsl_69)); + e_acsl_assert(__e_acsl_70 == 0,(char *)"Precondition", (char *)"(x == 7)",46); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_68)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_69)); + __gmpz_clear((__mpz_struct *)(__e_acsl_68)); + __gmpz_clear((__mpz_struct *)(__e_acsl_69)); __retres = 0; } - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_71),(long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_72),(long)7); - __e_acsl_var_73 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var_71), - (__mpz_struct const *)(__e_acsl_var_72)); - e_acsl_assert(__e_acsl_var_73 == 0,(char *)"Postcondition", + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_71),(long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_72),(long)7); + __e_acsl_73 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_71), + (__mpz_struct const *)(__e_acsl_72)); + e_acsl_assert(__e_acsl_73 == 0,(char *)"Postcondition", (char *)"(x == 7)",47); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_71)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_72)); + __gmpz_clear((__mpz_struct *)(__e_acsl_71)); + __gmpz_clear((__mpz_struct *)(__e_acsl_72)); } return (__retres); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle index 3cab7e2a66b80951487ca06f2a19a43b1617e7d1..4470ecf75a4f93c46956dfbb5ffd002f645c32c3 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle @@ -162,26 +162,26 @@ int main(void) */ { - int __e_acsl_var; - int __e_acsl_var_2; - int __e_acsl_var_3; - int __e_acsl_var_4; - int __e_acsl_var_5; - if (! (x == 1)) { __e_acsl_var = 1; } - else { __e_acsl_var = x == 0; } - e_acsl_assert(__e_acsl_var,(char *)"Precondition", + int __e_acsl; + int __e_acsl_2; + int __e_acsl_3; + int __e_acsl_4; + int __e_acsl_5; + if (! (x == 1)) { __e_acsl = 1; } + else { __e_acsl = x == 0; } + e_acsl_assert(__e_acsl,(char *)"Precondition", (char *)"(x == 1 ==> x == 0)",34); - if (x == 3) { __e_acsl_var_2 = y == 2; } - else { __e_acsl_var_2 = 0; } - if (! __e_acsl_var_2) { __e_acsl_var_3 = 1; } - else { __e_acsl_var_3 = x == 3; } - e_acsl_assert(__e_acsl_var_3,(char *)"Precondition", + if (x == 3) { __e_acsl_2 = y == 2; } + else { __e_acsl_2 = 0; } + if (! __e_acsl_2) { __e_acsl_3 = 1; } + else { __e_acsl_3 = x == 3; } + e_acsl_assert(__e_acsl_3,(char *)"Precondition", (char *)"(x == 3 && y == 2 ==> x == 3)",38); - if (x == 3) { __e_acsl_var_4 = y == 2; } - else { __e_acsl_var_4 = 0; } - if (! __e_acsl_var_4) { __e_acsl_var_5 = 1; } - else { __e_acsl_var_5 = (long long)x + (long long)y == (long long)5; } - e_acsl_assert(__e_acsl_var_5,(char *)"Precondition", + if (x == 3) { __e_acsl_4 = y == 2; } + else { __e_acsl_4 = 0; } + if (! __e_acsl_4) { __e_acsl_5 = 1; } + else { __e_acsl_5 = (long long)x + (long long)y == (long long)5; } + e_acsl_assert(__e_acsl_5,(char *)"Precondition", (char *)"(x == 3 && y == 2 ==> x+y == 5)",39); x += y; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle index dd6698bb3bc52d8cb85914ea42c88c9f8bbc72ed..45d7385537623a204b2aacaca37e1ef1be3cd014 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/typedef.1.res.oracle @@ -84,17 +84,16 @@ int main(void) x = (unsigned char)0; /*@ assert x ≡ 0; */ ; { - mpz_t __e_acsl_var; - mpz_t __e_acsl_var_2; - int __e_acsl_var_3; - __gmpz_init_set_ui((__mpz_struct *)(__e_acsl_var),(unsigned long)x); - __gmpz_init_set_si((__mpz_struct *)(__e_acsl_var_2),(long)0); - __e_acsl_var_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl_var), - (__mpz_struct const *)(__e_acsl_var_2)); - e_acsl_assert(__e_acsl_var_3 == 0,(char *)"Assertion",(char *)"(x == 0)", - 11); - __gmpz_clear((__mpz_struct *)(__e_acsl_var)); - __gmpz_clear((__mpz_struct *)(__e_acsl_var_2)); + mpz_t __e_acsl; + mpz_t __e_acsl_2; + int __e_acsl_3; + __gmpz_init_set_ui((__mpz_struct *)(__e_acsl),(unsigned long)x); + __gmpz_init_set_si((__mpz_struct *)(__e_acsl_2),(long)0); + __e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(__e_acsl), + (__mpz_struct const *)(__e_acsl_2)); + e_acsl_assert(__e_acsl_3 == 0,(char *)"Assertion",(char *)"(x == 0)",11); + __gmpz_clear((__mpz_struct *)(__e_acsl)); + __gmpz_clear((__mpz_struct *)(__e_acsl_2)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i b/src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i index d35beb4c1ab3faba2fa15dda4deeac39f0b04091..bff75f39b0440108da65869c53abd713a3632574 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/quantif.i @@ -1,7 +1,7 @@ /* run.config COMMENT: quantifiers EXECNOW: LOG gen_quantif.c BIN gen_quantif.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/quantif.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_quantif.c > /dev/null && gcc -pedantic -o ./tests/e-acsl-runtime/result/gen_quantif.out ./tests/e-acsl-runtime/result/gen_quantif.c -lgmp && ./tests/e-acsl-runtime/result/gen_quantif.out - EXECNOW: LOG gen_quantif2.c BIN gen_quantif2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_quantif2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_quantif2.out ./tests/e-acsl-runtime/result/gen_quantif2.c -lgmp && ./tests/e-acsl-runtime/result/gen_quantif2.out + EXECNOW: LOG gen_quantif2.c BIN gen_quantif2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/quantif.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_quantif2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_quantif2.out ./tests/e-acsl-runtime/result/gen_quantif2.c -lgmp && ./tests/e-acsl-runtime/result/gen_quantif2.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/result.i b/src/plugins/e-acsl/tests/e-acsl-runtime/result.i index 18e0b59fd836aea0514ecbfc311d09c0fb9dff3f..b90f3b93ebc27413632e0808a78be3acb53ef9a1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/result.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/result.i @@ -1,7 +1,7 @@ /* run.config COMMENT: \result EXECNOW: LOG gen_result.c BIN gen_result.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/result.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_result.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_result.out ./tests/e-acsl-runtime/result/gen_result.c -lgmp && ./tests/e-acsl-runtime/result/gen_result.out - EXECNOW: LOG gen_result2.c BIN gen_result2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_result2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_result2.out ./tests/e-acsl-runtime/result/gen_result2.c -lgmp && ./tests/e-acsl-runtime/result/gen_result2.out + EXECNOW: LOG gen_result2.c BIN gen_result2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/result.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_result2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_result2.out ./tests/e-acsl-runtime/result/gen_result2.c -lgmp && ./tests/e-acsl-runtime/result/gen_result2.out */ /*@ ensures \result == (int)(x - x); */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i b/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i index d891e1bed693471f8fab5604d6ab2a63041006f9..80339ee75da6355e57f90949f4671b74107a4271 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i @@ -1,7 +1,7 @@ /* run.config COMMENT: stmt contract EXECNOW: LOG gen_stmt_contract.c BIN gen_stmt_contract.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/stmt_contract.i -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_stmt_contract.out ./tests/e-acsl-runtime/result/gen_stmt_contract.c -lgmp && ./tests/e-acsl-runtime/result/gen_stmt_contract.out - EXECNOW: LOG gen_stmt_contract2.c BIN gen_stmt_contract2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_stmt_contract2.out ./tests/e-acsl-runtime/result/gen_stmt_contract2.c -lgmp && ./tests/e-acsl-runtime/result/gen_stmt_contract2.out + EXECNOW: LOG gen_stmt_contract2.c BIN gen_stmt_contract2.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/stmt_contract.i -e-acsl-gmp-only -e-acsl -then-on e-acsl -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract2.c > /dev/null && gcc -pedantic -Wno-long-long -o ./tests/e-acsl-runtime/result/gen_stmt_contract2.out ./tests/e-acsl-runtime/result/gen_stmt_contract2.c -lgmp && ./tests/e-acsl-runtime/result/gen_stmt_contract2.out */ int main(void) { int x = 0, y = 2;