From ad10bee8f0924944f4547ff0b4afd79557ef0b83 Mon Sep 17 00:00:00 2001 From: Leonardo Alt Date: Wed, 31 Mar 2021 17:31:23 +0200 Subject: [PATCH] update command line tests --- .../cmdlineTests/model_checker_engine_all/err | 4 +- .../model_checker_engine_all/input.sol | 1 - .../cmdlineTests/model_checker_engine_bmc/err | 4 +- .../model_checker_engine_bmc/input.sol | 1 - .../cmdlineTests/model_checker_engine_chc/err | 4 +- .../model_checker_engine_chc/input.sol | 1 - .../model_checker_engine_none/input.sol | 1 - .../model_checker_targets_all/args | 2 +- .../model_checker_targets_all/err | 36 +- .../model_checker_targets_all/input.sol | 1 - .../model_checker_targets_all_bmc/err | 28 +- .../model_checker_targets_all_bmc/input.sol | 1 - .../model_checker_targets_all_chc/err | 28 +- .../model_checker_targets_all_chc/input.sol | 1 - .../model_checker_targets_assert_bmc/err | 4 +- .../input.sol | 1 - .../model_checker_targets_assert_chc/err | 4 +- .../input.sol | 1 - .../model_checker_targets_balance_bmc/err | 4 +- .../input.sol | 1 - .../input.sol | 1 - .../err | 4 +- .../input.sol | 1 - .../input.sol | 1 - .../model_checker_targets_div_by_zero_bmc/err | 8 +- .../input.sol | 1 - .../model_checker_targets_div_by_zero_chc/err | 8 +- .../input.sol | 1 - .../model_checker_targets_error/args | 2 +- .../model_checker_targets_error/input.sol | 1 - .../input.sol | 1 - .../err | 4 +- .../input.sol | 1 - .../model_checker_targets_overflow_bmc/err | 4 +- .../input.sol | 1 - .../model_checker_targets_overflow_chc/err | 4 +- .../input.sol | 1 - .../input.sol | 1 - .../model_checker_targets_pop_empty_chc/err | 4 +- .../input.sol | 1 - .../model_checker_targets_underflow_bmc/err | 4 +- .../input.sol | 1 - .../model_checker_targets_underflow_chc/err | 4 +- .../input.sol | 1 - .../err | 12 +- .../input.sol | 1 - .../err | 12 +- .../input.sol | 1 - .../err | 8 +- .../input.sol | 1 - .../err | 8 +- .../input.sol | 1 - .../model_checker_timeout_all/args | 2 +- .../model_checker_timeout_all/err | 16 +- .../model_checker_timeout_all/input.sol | 1 - .../model_checker_timeout_bmc/err | 8 +- .../model_checker_timeout_bmc/input.sol | 1 - .../model_checker_timeout_chc/err | 8 +- .../model_checker_timeout_chc/input.sol | 1 - .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../output.json | 14 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../input.json | 3 +- .../output.json | 136 +-- .../input.json | 2 +- .../output.json | 388 ++++----- .../input.json | 2 +- .../output.json | 12 +- .../input.json | 2 +- .../output.json | 56 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../output.json | 56 +- .../input.json | 2 +- .../input.json | 2 +- .../output.json | 34 +- .../input.json | 2 +- .../input.json | 2 +- .../output.json | 58 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../output.json | 58 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../output.json | 58 +- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../output.json | 230 ++--- .../input.json | 2 +- .../output.json | 6 +- .../input.json | 2 +- .../output.json | 116 +-- .../input.json | 2 +- .../output.json | 4 +- .../input.json | 3 +- .../input.json | 3 +- .../output.json | 242 +++--- .../input.json | 2 +- .../output.json | 806 +++++++++--------- .../input.json | 2 +- .../output.json | 2 +- .../input.json | 2 +- .../input.json | 3 +- 117 files changed, 1302 insertions(+), 1329 deletions(-) diff --git a/test/cmdlineTests/model_checker_engine_all/err b/test/cmdlineTests/model_checker_engine_all/err index 09da49d00..12614fd55 100644 --- a/test/cmdlineTests/model_checker_engine_all/err +++ b/test/cmdlineTests/model_checker_engine_all/err @@ -6,7 +6,7 @@ x = 0 Transaction trace: test.constructor() test.f(0) - --> model_checker_engine_all/input.sol:6:3: + --> model_checker_engine_all/input.sol:5:3: | -6 | assert(x > 0); +5 | assert(x > 0); | ^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_engine_all/input.sol b/test/cmdlineTests/model_checker_engine_all/input.sol index 166416c06..d29659d11 100644 --- a/test/cmdlineTests/model_checker_engine_all/input.sol +++ b/test/cmdlineTests/model_checker_engine_all/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x) public pure { assert(x > 0); diff --git a/test/cmdlineTests/model_checker_engine_bmc/err b/test/cmdlineTests/model_checker_engine_bmc/err index 82d3b6e0a..ed46539d6 100644 --- a/test/cmdlineTests/model_checker_engine_bmc/err +++ b/test/cmdlineTests/model_checker_engine_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Assertion violation happens here. - --> model_checker_engine_bmc/input.sol:6:3: + --> model_checker_engine_bmc/input.sol:5:3: | -6 | assert(x > 0); +5 | assert(x > 0); | ^^^^^^^^^^^^^ Note: Counterexample: x = 0 diff --git a/test/cmdlineTests/model_checker_engine_bmc/input.sol b/test/cmdlineTests/model_checker_engine_bmc/input.sol index 166416c06..d29659d11 100644 --- a/test/cmdlineTests/model_checker_engine_bmc/input.sol +++ b/test/cmdlineTests/model_checker_engine_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x) public pure { assert(x > 0); diff --git a/test/cmdlineTests/model_checker_engine_chc/err b/test/cmdlineTests/model_checker_engine_chc/err index 8b7a18182..95198fa20 100644 --- a/test/cmdlineTests/model_checker_engine_chc/err +++ b/test/cmdlineTests/model_checker_engine_chc/err @@ -6,7 +6,7 @@ x = 0 Transaction trace: test.constructor() test.f(0) - --> model_checker_engine_chc/input.sol:6:3: + --> model_checker_engine_chc/input.sol:5:3: | -6 | assert(x > 0); +5 | assert(x > 0); | ^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_engine_chc/input.sol b/test/cmdlineTests/model_checker_engine_chc/input.sol index 166416c06..d29659d11 100644 --- a/test/cmdlineTests/model_checker_engine_chc/input.sol +++ b/test/cmdlineTests/model_checker_engine_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x) public pure { assert(x > 0); diff --git a/test/cmdlineTests/model_checker_engine_none/input.sol b/test/cmdlineTests/model_checker_engine_none/input.sol index 8727d4b40..f1fb96386 100644 --- a/test/cmdlineTests/model_checker_engine_none/input.sol +++ b/test/cmdlineTests/model_checker_engine_none/input.sol @@ -1,7 +1,6 @@ // Removed to yield a warning, otherwise CI test fails with the expectation // "no output requested" //pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x) public pure { assert(x > 0); diff --git a/test/cmdlineTests/model_checker_targets_all/args b/test/cmdlineTests/model_checker_targets_all/args index 007ae6a21..aac8a1a27 100644 --- a/test/cmdlineTests/model_checker_targets_all/args +++ b/test/cmdlineTests/model_checker_targets_all/args @@ -1 +1 @@ ---model-checker-targets all +--model-checker-engine all --model-checker-targets all diff --git a/test/cmdlineTests/model_checker_targets_all/err b/test/cmdlineTests/model_checker_targets_all/err index ed6b1fae1..6313a8833 100644 --- a/test/cmdlineTests/model_checker_targets_all/err +++ b/test/cmdlineTests/model_checker_targets_all/err @@ -8,9 +8,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 0) - --> model_checker_targets_all/input.sol:8:3: + --> model_checker_targets_all/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. @@ -23,9 +23,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 2) - --> model_checker_targets_all/input.sol:9:3: + --> model_checker_targets_all/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Warning: CHC: Division by zero happens here. @@ -38,10 +38,10 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all/input.sol:10:3: - | -10 | 2 / x; - | ^^^^^ + --> model_checker_targets_all/input.sol:9:3: + | +9 | 2 / x; + | ^^^^^ Warning: CHC: Assertion violation happens here. Counterexample: @@ -53,9 +53,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all/input.sol:12:3: + --> model_checker_targets_all/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ Warning: CHC: Empty array "pop" happens here. @@ -68,9 +68,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all/input.sol:13:3: + --> model_checker_targets_all/input.sol:12:3: | -13 | arr.pop(); +12 | arr.pop(); | ^^^^^^^^^ Warning: CHC: Out of bounds access happens here. @@ -83,22 +83,22 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all/input.sol:14:3: + --> model_checker_targets_all/input.sol:13:3: | -14 | arr[x]; +13 | arr[x]; | ^^^^^^ Warning: BMC: Condition is always true. - --> model_checker_targets_all/input.sol:7:11: + --> model_checker_targets_all/input.sol:6:11: | -7 | require(x >= 0); +6 | require(x >= 0); | ^^^^^^ Note: Callstack: Warning: BMC: Insufficient funds happens here. - --> model_checker_targets_all/input.sol:11:3: + --> model_checker_targets_all/input.sol:10:3: | -11 | a.transfer(x); +10 | a.transfer(x); | ^^^^^^^^^^^^^ Note: Counterexample: a = 0 diff --git a/test/cmdlineTests/model_checker_targets_all/input.sol b/test/cmdlineTests/model_checker_targets_all/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_all/input.sol +++ b/test/cmdlineTests/model_checker_targets_all/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_all_bmc/err b/test/cmdlineTests/model_checker_targets_all_bmc/err index b37fef965..27a51a67b 100644 --- a/test/cmdlineTests/model_checker_targets_all_bmc/err +++ b/test/cmdlineTests/model_checker_targets_all_bmc/err @@ -1,14 +1,14 @@ Warning: BMC: Condition is always true. - --> model_checker_targets_all_bmc/input.sol:7:11: + --> model_checker_targets_all_bmc/input.sol:6:11: | -7 | require(x >= 0); +6 | require(x >= 0); | ^^^^^^ Note: Callstack: Warning: BMC: Underflow (resulting value less than 0) happens here. - --> model_checker_targets_all_bmc/input.sol:8:3: + --> model_checker_targets_all_bmc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Note: Counterexample: = (- 1) @@ -19,9 +19,9 @@ Note: Callstack: Note: Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. - --> model_checker_targets_all_bmc/input.sol:9:3: + --> model_checker_targets_all_bmc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Note: Counterexample: = 2**256 @@ -32,10 +32,10 @@ Note: Callstack: Note: Warning: BMC: Division by zero happens here. - --> model_checker_targets_all_bmc/input.sol:10:3: - | -10 | 2 / x; - | ^^^^^ + --> model_checker_targets_all_bmc/input.sol:9:3: + | +9 | 2 / x; + | ^^^^^ Note: Counterexample: = 0 a = 0 @@ -45,9 +45,9 @@ Note: Callstack: Note: Warning: BMC: Insufficient funds happens here. - --> model_checker_targets_all_bmc/input.sol:11:3: + --> model_checker_targets_all_bmc/input.sol:10:3: | -11 | a.transfer(x); +10 | a.transfer(x); | ^^^^^^^^^^^^^ Note: Counterexample: a = 0 @@ -57,9 +57,9 @@ Note: Callstack: Note: Warning: BMC: Assertion violation happens here. - --> model_checker_targets_all_bmc/input.sol:12:3: + --> model_checker_targets_all_bmc/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ Note: Counterexample: a = 0 diff --git a/test/cmdlineTests/model_checker_targets_all_bmc/input.sol b/test/cmdlineTests/model_checker_targets_all_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_all_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_all_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_all_chc/err b/test/cmdlineTests/model_checker_targets_all_chc/err index 0c1ad1b45..1484e7f2d 100644 --- a/test/cmdlineTests/model_checker_targets_all_chc/err +++ b/test/cmdlineTests/model_checker_targets_all_chc/err @@ -8,9 +8,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 0) - --> model_checker_targets_all_chc/input.sol:8:3: + --> model_checker_targets_all_chc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. @@ -23,9 +23,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 2) - --> model_checker_targets_all_chc/input.sol:9:3: + --> model_checker_targets_all_chc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Warning: CHC: Division by zero happens here. @@ -38,10 +38,10 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all_chc/input.sol:10:3: - | -10 | 2 / x; - | ^^^^^ + --> model_checker_targets_all_chc/input.sol:9:3: + | +9 | 2 / x; + | ^^^^^ Warning: CHC: Assertion violation happens here. Counterexample: @@ -53,9 +53,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all_chc/input.sol:12:3: + --> model_checker_targets_all_chc/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ Warning: CHC: Empty array "pop" happens here. @@ -68,9 +68,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all_chc/input.sol:13:3: + --> model_checker_targets_all_chc/input.sol:12:3: | -13 | arr.pop(); +12 | arr.pop(); | ^^^^^^^^^ Warning: CHC: Out of bounds access happens here. @@ -83,7 +83,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_all_chc/input.sol:14:3: + --> model_checker_targets_all_chc/input.sol:13:3: | -14 | arr[x]; +13 | arr[x]; | ^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_all_chc/input.sol b/test/cmdlineTests/model_checker_targets_all_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_all_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_all_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_assert_bmc/err b/test/cmdlineTests/model_checker_targets_assert_bmc/err index c21561bc7..90486bf79 100644 --- a/test/cmdlineTests/model_checker_targets_assert_bmc/err +++ b/test/cmdlineTests/model_checker_targets_assert_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Assertion violation happens here. - --> model_checker_targets_assert_bmc/input.sol:12:3: + --> model_checker_targets_assert_bmc/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ Note: Counterexample: a = 0 diff --git a/test/cmdlineTests/model_checker_targets_assert_bmc/input.sol b/test/cmdlineTests/model_checker_targets_assert_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_assert_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_assert_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_assert_chc/err b/test/cmdlineTests/model_checker_targets_assert_chc/err index 826b0cb87..a7b73b418 100644 --- a/test/cmdlineTests/model_checker_targets_assert_chc/err +++ b/test/cmdlineTests/model_checker_targets_assert_chc/err @@ -8,7 +8,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_assert_chc/input.sol:12:3: + --> model_checker_targets_assert_chc/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_assert_chc/input.sol b/test/cmdlineTests/model_checker_targets_assert_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_assert_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_assert_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_balance_bmc/err b/test/cmdlineTests/model_checker_targets_balance_bmc/err index 595020aa7..39a8aac56 100644 --- a/test/cmdlineTests/model_checker_targets_balance_bmc/err +++ b/test/cmdlineTests/model_checker_targets_balance_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Insufficient funds happens here. - --> model_checker_targets_balance_bmc/input.sol:11:3: + --> model_checker_targets_balance_bmc/input.sol:10:3: | -11 | a.transfer(x); +10 | a.transfer(x); | ^^^^^^^^^^^^^ Note: Counterexample: a = 0 diff --git a/test/cmdlineTests/model_checker_targets_balance_bmc/input.sol b/test/cmdlineTests/model_checker_targets_balance_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_balance_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_balance_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_balance_chc/input.sol b/test/cmdlineTests/model_checker_targets_balance_chc/input.sol index 62018cf06..8ec052a21 100644 --- a/test/cmdlineTests/model_checker_targets_balance_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_balance_chc/input.sol @@ -1,5 +1,4 @@ pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err b/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err index cf73966f9..6a376dd7e 100644 --- a/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err +++ b/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err @@ -1,6 +1,6 @@ Warning: BMC: Condition is always true. - --> model_checker_targets_constant_condition_bmc/input.sol:7:11: + --> model_checker_targets_constant_condition_bmc/input.sol:6:11: | -7 | require(x >= 0); +6 | require(x >= 0); | ^^^^^^ Note: Callstack: diff --git a/test/cmdlineTests/model_checker_targets_constant_condition_bmc/input.sol b/test/cmdlineTests/model_checker_targets_constant_condition_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_constant_condition_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_constant_condition_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_constant_condition_chc/input.sol b/test/cmdlineTests/model_checker_targets_constant_condition_chc/input.sol index 62018cf06..8ec052a21 100644 --- a/test/cmdlineTests/model_checker_targets_constant_condition_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_constant_condition_chc/input.sol @@ -1,5 +1,4 @@ pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err b/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err index 865eabba7..bcf2c0c83 100644 --- a/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err +++ b/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err @@ -1,8 +1,8 @@ Warning: BMC: Division by zero happens here. - --> model_checker_targets_div_by_zero_bmc/input.sol:10:3: - | -10 | 2 / x; - | ^^^^^ + --> model_checker_targets_div_by_zero_bmc/input.sol:9:3: + | +9 | 2 / x; + | ^^^^^ Note: Counterexample: = 0 a = 0 diff --git a/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/input.sol b/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err b/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err index 75821bdf4..4318a501e 100644 --- a/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err +++ b/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err @@ -8,7 +8,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_div_by_zero_chc/input.sol:10:3: - | -10 | 2 / x; - | ^^^^^ + --> model_checker_targets_div_by_zero_chc/input.sol:9:3: + | +9 | 2 / x; + | ^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_div_by_zero_chc/input.sol b/test/cmdlineTests/model_checker_targets_div_by_zero_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_div_by_zero_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_div_by_zero_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_error/args b/test/cmdlineTests/model_checker_targets_error/args index b88522f64..19eb05363 100644 --- a/test/cmdlineTests/model_checker_targets_error/args +++ b/test/cmdlineTests/model_checker_targets_error/args @@ -1 +1 @@ ---model-checker-targets aaa,bbb +--model-checker-engine all --model-checker-targets aaa,bbb diff --git a/test/cmdlineTests/model_checker_targets_error/input.sol b/test/cmdlineTests/model_checker_targets_error/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_error/input.sol +++ b/test/cmdlineTests/model_checker_targets_error/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/input.sol b/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/input.sol index 62018cf06..8ec052a21 100644 --- a/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/input.sol @@ -1,5 +1,4 @@ pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err b/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err index e021a3f23..661ae5b79 100644 --- a/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err +++ b/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err @@ -8,7 +8,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_out_of_bounds_chc/input.sol:14:3: + --> model_checker_targets_out_of_bounds_chc/input.sol:13:3: | -14 | arr[x]; +13 | arr[x]; | ^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/input.sol b/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_overflow_bmc/err b/test/cmdlineTests/model_checker_targets_overflow_bmc/err index 833fe3c80..f2f475c30 100644 --- a/test/cmdlineTests/model_checker_targets_overflow_bmc/err +++ b/test/cmdlineTests/model_checker_targets_overflow_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. - --> model_checker_targets_overflow_bmc/input.sol:9:3: + --> model_checker_targets_overflow_bmc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Note: Counterexample: = 2**256 diff --git a/test/cmdlineTests/model_checker_targets_overflow_bmc/input.sol b/test/cmdlineTests/model_checker_targets_overflow_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_overflow_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_overflow_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_overflow_chc/err b/test/cmdlineTests/model_checker_targets_overflow_chc/err index d72cea1da..fca12d076 100644 --- a/test/cmdlineTests/model_checker_targets_overflow_chc/err +++ b/test/cmdlineTests/model_checker_targets_overflow_chc/err @@ -8,7 +8,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 2) - --> model_checker_targets_overflow_chc/input.sol:9:3: + --> model_checker_targets_overflow_chc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_overflow_chc/input.sol b/test/cmdlineTests/model_checker_targets_overflow_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_overflow_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_overflow_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_pop_empty_bmc/input.sol b/test/cmdlineTests/model_checker_targets_pop_empty_bmc/input.sol index 62018cf06..8ec052a21 100644 --- a/test/cmdlineTests/model_checker_targets_pop_empty_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_pop_empty_bmc/input.sol @@ -1,5 +1,4 @@ pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_pop_empty_chc/err b/test/cmdlineTests/model_checker_targets_pop_empty_chc/err index 2d6b24851..7ec616853 100644 --- a/test/cmdlineTests/model_checker_targets_pop_empty_chc/err +++ b/test/cmdlineTests/model_checker_targets_pop_empty_chc/err @@ -8,7 +8,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_pop_empty_chc/input.sol:13:3: + --> model_checker_targets_pop_empty_chc/input.sol:12:3: | -13 | arr.pop(); +12 | arr.pop(); | ^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_pop_empty_chc/input.sol b/test/cmdlineTests/model_checker_targets_pop_empty_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_pop_empty_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_pop_empty_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_underflow_bmc/err b/test/cmdlineTests/model_checker_targets_underflow_bmc/err index 01d4e0e66..2162bec3a 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_bmc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Underflow (resulting value less than 0) happens here. - --> model_checker_targets_underflow_bmc/input.sol:8:3: + --> model_checker_targets_underflow_bmc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Note: Counterexample: = (- 1) diff --git a/test/cmdlineTests/model_checker_targets_underflow_bmc/input.sol b/test/cmdlineTests/model_checker_targets_underflow_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_underflow_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_underflow_chc/err b/test/cmdlineTests/model_checker_targets_underflow_chc/err index f621f7055..ac56c82b5 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_chc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_chc/err @@ -8,7 +8,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 0) - --> model_checker_targets_underflow_chc/input.sol:8:3: + --> model_checker_targets_underflow_chc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ diff --git a/test/cmdlineTests/model_checker_targets_underflow_chc/input.sol b/test/cmdlineTests/model_checker_targets_underflow_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_underflow_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err index bef3639f3..9712b8cb7 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Underflow (resulting value less than 0) happens here. - --> model_checker_targets_underflow_overflow_assert_bmc/input.sol:8:3: + --> model_checker_targets_underflow_overflow_assert_bmc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Note: Counterexample: = (- 1) @@ -12,9 +12,9 @@ Note: Callstack: Note: Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. - --> model_checker_targets_underflow_overflow_assert_bmc/input.sol:9:3: + --> model_checker_targets_underflow_overflow_assert_bmc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Note: Counterexample: = 2**256 @@ -25,9 +25,9 @@ Note: Callstack: Note: Warning: BMC: Assertion violation happens here. - --> model_checker_targets_underflow_overflow_assert_bmc/input.sol:12:3: + --> model_checker_targets_underflow_overflow_assert_bmc/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ Note: Counterexample: a = 0 diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/input.sol b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err index 4c43fb023..25680bc15 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err @@ -8,9 +8,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 0) - --> model_checker_targets_underflow_overflow_assert_chc/input.sol:8:3: + --> model_checker_targets_underflow_overflow_assert_chc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. @@ -23,9 +23,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 2) - --> model_checker_targets_underflow_overflow_assert_chc/input.sol:9:3: + --> model_checker_targets_underflow_overflow_assert_chc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Warning: CHC: Assertion violation happens here. @@ -38,7 +38,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 1) - --> model_checker_targets_underflow_overflow_assert_chc/input.sol:12:3: + --> model_checker_targets_underflow_overflow_assert_chc/input.sol:11:3: | -12 | assert(x > 0); +11 | assert(x > 0); | ^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/input.sol b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err index a41062c31..f3675ac5a 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err @@ -1,7 +1,7 @@ Warning: BMC: Underflow (resulting value less than 0) happens here. - --> model_checker_targets_underflow_overflow_bmc/input.sol:8:3: + --> model_checker_targets_underflow_overflow_bmc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Note: Counterexample: = (- 1) @@ -12,9 +12,9 @@ Note: Callstack: Note: Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. - --> model_checker_targets_underflow_overflow_bmc/input.sol:9:3: + --> model_checker_targets_underflow_overflow_bmc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ Note: Counterexample: = 2**256 diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/input.sol b/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/input.sol +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err index f808d291a..9bb4b52f1 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err @@ -8,9 +8,9 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 0) - --> model_checker_targets_underflow_overflow_chc/input.sol:8:3: + --> model_checker_targets_underflow_overflow_chc/input.sol:7:3: | -8 | --x; +7 | --x; | ^^^ Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. @@ -23,7 +23,7 @@ Transaction trace: test.constructor() State: arr = [] test.f(0, 2) - --> model_checker_targets_underflow_overflow_chc/input.sol:9:3: + --> model_checker_targets_underflow_overflow_chc/input.sol:8:3: | -9 | x + type(uint).max; +8 | x + type(uint).max; | ^^^^^^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/input.sol b/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/input.sol index 6d23400d1..33b5bfab3 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/input.sol +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { uint[] arr; function f(address payable a, uint x) public { diff --git a/test/cmdlineTests/model_checker_timeout_all/args b/test/cmdlineTests/model_checker_timeout_all/args index 8fe8ce96a..aad210472 100644 --- a/test/cmdlineTests/model_checker_timeout_all/args +++ b/test/cmdlineTests/model_checker_timeout_all/args @@ -1 +1 @@ ---model-checker-timeout 1000 +--model-checker-engine all --model-checker-timeout 1000 diff --git a/test/cmdlineTests/model_checker_timeout_all/err b/test/cmdlineTests/model_checker_timeout_all/err index e2473dc17..6b2d3392a 100644 --- a/test/cmdlineTests/model_checker_timeout_all/err +++ b/test/cmdlineTests/model_checker_timeout_all/err @@ -1,12 +1,12 @@ Warning: CHC: Assertion violation might happen here. - --> model_checker_timeout_all/input.sol:10:3: - | -10 | assert(r % k == 0); - | ^^^^^^^^^^^^^^^^^^ + --> model_checker_timeout_all/input.sol:9:3: + | +9 | assert(r % k == 0); + | ^^^^^^^^^^^^^^^^^^ Warning: BMC: Assertion violation might happen here. - --> model_checker_timeout_all/input.sol:10:3: - | -10 | assert(r % k == 0); - | ^^^^^^^^^^^^^^^^^^ + --> model_checker_timeout_all/input.sol:9:3: + | +9 | assert(r % k == 0); + | ^^^^^^^^^^^^^^^^^^ Note: diff --git a/test/cmdlineTests/model_checker_timeout_all/input.sol b/test/cmdlineTests/model_checker_timeout_all/input.sol index bae0d7a93..dfe33fc87 100644 --- a/test/cmdlineTests/model_checker_timeout_all/input.sol +++ b/test/cmdlineTests/model_checker_timeout_all/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x, uint y, uint k) public pure { require(k > 0); diff --git a/test/cmdlineTests/model_checker_timeout_bmc/err b/test/cmdlineTests/model_checker_timeout_bmc/err index 4334c5e4c..9cce6ba0c 100644 --- a/test/cmdlineTests/model_checker_timeout_bmc/err +++ b/test/cmdlineTests/model_checker_timeout_bmc/err @@ -1,6 +1,6 @@ Warning: BMC: Assertion violation might happen here. - --> model_checker_timeout_bmc/input.sol:10:3: - | -10 | assert(r % k == 0); - | ^^^^^^^^^^^^^^^^^^ + --> model_checker_timeout_bmc/input.sol:9:3: + | +9 | assert(r % k == 0); + | ^^^^^^^^^^^^^^^^^^ Note: diff --git a/test/cmdlineTests/model_checker_timeout_bmc/input.sol b/test/cmdlineTests/model_checker_timeout_bmc/input.sol index bae0d7a93..dfe33fc87 100644 --- a/test/cmdlineTests/model_checker_timeout_bmc/input.sol +++ b/test/cmdlineTests/model_checker_timeout_bmc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x, uint y, uint k) public pure { require(k > 0); diff --git a/test/cmdlineTests/model_checker_timeout_chc/err b/test/cmdlineTests/model_checker_timeout_chc/err index e731ea28d..187ef937c 100644 --- a/test/cmdlineTests/model_checker_timeout_chc/err +++ b/test/cmdlineTests/model_checker_timeout_chc/err @@ -1,5 +1,5 @@ Warning: CHC: Assertion violation might happen here. - --> model_checker_timeout_chc/input.sol:10:3: - | -10 | assert(r % k == 0); - | ^^^^^^^^^^^^^^^^^^ + --> model_checker_timeout_chc/input.sol:9:3: + | +9 | assert(r % k == 0); + | ^^^^^^^^^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_timeout_chc/input.sol b/test/cmdlineTests/model_checker_timeout_chc/input.sol index bae0d7a93..dfe33fc87 100644 --- a/test/cmdlineTests/model_checker_timeout_chc/input.sol +++ b/test/cmdlineTests/model_checker_timeout_chc/input.sol @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.0; -pragma experimental SMTChecker; contract test { function f(uint x, uint y, uint k) public pure { require(k > 0); diff --git a/test/cmdlineTests/standard_model_checker_engine_all/input.json b/test/cmdlineTests/standard_model_checker_engine_all/input.json index e39baccbc..db9f2232d 100644 --- a/test/cmdlineTests/standard_model_checker_engine_all/input.json +++ b/test/cmdlineTests/standard_model_checker_engine_all/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract C { function f(uint x) public pure { assert(x > 0); } }" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract C { function f(uint x) public pure { assert(x > 0); } }" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_engine_all/output.json b/test/cmdlineTests/standard_model_checker_engine_all/output.json index 168956e29..12dfe5871 100644 --- a/test/cmdlineTests/standard_model_checker_engine_all/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_all/output.json @@ -18,4 +18,4 @@ x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":150,"file":"A","start":137},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_engine_bmc/input.json b/test/cmdlineTests/standard_model_checker_engine_bmc/input.json index 944d64147..56a2b8fac 100644 --- a/test/cmdlineTests/standard_model_checker_engine_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_engine_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract C { function f(uint x) public pure { assert(x > 0); } }" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract C { function f(uint x) public pure { assert(x > 0); } }" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_engine_bmc/output.json b/test/cmdlineTests/standard_model_checker_engine_bmc/output.json index 36dd459af..bb8a062bc 100644 --- a/test/cmdlineTests/standard_model_checker_engine_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x890f1520a8ee68790fd3c13ddbc70536dc8afcff539c4da1a1766da6168e497e":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x944140895bd672003614580050e8349baeea7cced0d8b9447aefb6c4833b02a8":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -12,14 +12,14 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |expr_7_0| () Int) (declare-fun |expr_8_0| () Int) -(declare-fun |expr_9_0| () Int) -(declare-fun |expr_10_1| () Bool) +(declare-fun |expr_9_1| () Bool) -(assert (and (and (and true true) (and (= expr_10_1 (> expr_8_0 expr_9_0)) (and (implies (and true true) true) (and (= expr_9_0 0) (and (implies (and true true) (and (>= expr_8_0 0) (<= expr_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_8_0 x_4_0) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3017696395)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 179)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 222)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 100)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 139)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))) (not expr_10_1))) +(assert (and (and (and true true) (and (= expr_9_1 (> expr_7_0 expr_8_0)) (and (implies (and true true) true) (and (= expr_8_0 0) (and (implies (and true true) (and (>= expr_7_0 0) (<= expr_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_7_0 x_3_0) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3017696395)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 179)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 222)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 100)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 139)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))) (not expr_9_1))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) +(assert (= |EVALEXPR_0| x_3_0)) (check-sat) (get-value (|EVALEXPR_0| )) "}},"errors":[{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. @@ -35,4 +35,4 @@ Note: ","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":150,"file":"A","start":137},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_engine_chc/input.json b/test/cmdlineTests/standard_model_checker_engine_chc/input.json index bda610936..76a46d556 100644 --- a/test/cmdlineTests/standard_model_checker_engine_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_engine_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract C { function f(uint x) public pure { assert(x > 0); } }" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract C { function f(uint x) public pure { assert(x > 0); } }" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_engine_chc/output.json b/test/cmdlineTests/standard_model_checker_engine_chc/output.json index 168956e29..12dfe5871 100644 --- a/test/cmdlineTests/standard_model_checker_engine_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_engine_chc/output.json @@ -18,4 +18,4 @@ x = 0 Transaction trace: C.constructor() -C.f(0)","severity":"warning","sourceLocation":{"end":150,"file":"A","start":137},"type":"Warning"}],"sources":{"A":{"id":0}}} +C.f(0)","severity":"warning","sourceLocation":{"end":119,"file":"A","start":106},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_engine_none/input.json b/test/cmdlineTests/standard_model_checker_engine_none/input.json index cbb146060..014f1af64 100644 --- a/test/cmdlineTests/standard_model_checker_engine_none/input.json +++ b/test/cmdlineTests/standard_model_checker_engine_none/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract C { function f(uint x) public pure { assert(x > 0); } }" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract C { function f(uint x) public pure { assert(x > 0); } }" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_targets_all/input.json b/test/cmdlineTests/standard_model_checker_targets_all/input.json index 7c3a39016..ef2e8e050 100644 --- a/test/cmdlineTests/standard_model_checker_targets_all/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_all/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); @@ -23,6 +23,7 @@ { "modelChecker": { + "engine": "all", "targets": "all" } } diff --git a/test/cmdlineTests/standard_model_checker_targets_all/output.json b/test/cmdlineTests/standard_model_checker_targets_all/output.json index c1059c4cf..a900f4dfd 100644 --- a/test/cmdlineTests/standard_model_checker_targets_all/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_all/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x858035fcfc2316b3f09ebac493170a22ae2971f0f65f8ca7e125fe7f4b88756d":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x9190f95880d71b6c4636672b262f07430b161f369cc56816ad265e4fa1ee1f3a":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,17 +13,17 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) +(declare-fun |expr_14_1| () Bool) -(assert (and (and (and true true) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_15_1)) +(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1))) (check-sat) -","0xc14e92836e07964eacd7231da77dea92406ac93d4e601c33d2300d5e067bdc1f":"(set-option :produce-models true) +","0xd32caa9b049de053b56e6d79b6b17e718634bff64ba913b2f28e5369947d4e3b":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -38,71 +38,71 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) - -(assert (and (and (and true true) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_15_1))) -(check-sat) -","0xeb141c7bf753748c7972af4a35e586d579a5e374e8f2aa2455ddbdf931e5582b":"(set-option :produce-models true) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_14_0| () Int) (declare-fun |r_div_mod_14_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_9_1) (and (implies (and true true) (and (>= expr_33_0 0) (<= expr_33_0 1461501637330902918203684832716283019655932542975))) (and (= expr_33_0 a_7_0) (and (implies (and true true) (and (>= expr_31_1 0) (<= expr_31_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_31_1 (ite (= expr_30_0 0) 0 d_div_mod_14_0)) (and (and (<= 0 r_div_mod_14_0) (or (= expr_30_0 0) (< r_div_mod_14_0 expr_30_0))) (and (= (+ (* d_div_mod_14_0 expr_30_0) r_div_mod_14_0) expr_29_0) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))) (< (select (|balances| state_0) this_0) expr_36_0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_14_0)) (and (and (<= 0 r_div_mod_14_0) (or (= expr_29_0 0) (< r_div_mod_14_0 expr_29_0))) (and (= (+ (* d_div_mod_14_0 expr_29_0) r_div_mod_14_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))) (< (select (|balances| state_0) this_0) expr_35_0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) +","0xdb117433a9ec32d2f491750fb369a0d49c0afb6cad5f9ea3e1739ef8b87cdf4f":"(set-option :produce-models true) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_0| () Int) +(declare-fun |expr_14_1| () Bool) + +(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1)) +(check-sat) "}},"errors":[{"component":"general","errorCode":"3944","formattedMessage":"Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] @@ -127,7 +127,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 0)","severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0 @@ -151,7 +151,7 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0, 2)","severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"},{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. +test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. Counterexample: arr = [] a = 0 @@ -175,7 +175,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":247,"file":"A","start":242},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0 @@ -199,7 +199,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0 @@ -223,7 +223,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":306,"file":"A","start":297},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0 @@ -247,14 +247,14 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":320,"file":"A","start":314},"type":"Warning"},{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"},{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. --> A:7:15: | 7 | \t\t\t\t\t\trequire(x >= 0); | \t\t\t\t\t\t ^^^^^^ Note: Callstack: -","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":196,"file":"A","start":190},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. +","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. --> A:11:7: | 11 | \t\t\t\t\t\ta.transfer(x); @@ -269,4 +269,4 @@ Note: ","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":268,"file":"A","start":255},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_all_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_all_bmc/input.json index bec678533..57ba390a7 100644 --- a/test/cmdlineTests/standard_model_checker_targets_all_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_all_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_all_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_all_bmc/output.json index 965ad91d1..b0f83896f 100644 --- a/test/cmdlineTests/standard_model_checker_targets_all_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_all_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x0a84f77238ff8229baeac139d2ec93e905d39b9dba5859a66eaeb7310243c901":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x0bf4bf54fa2ecac3482de1b433e5216d0b2f9c2347e556e43c252499885165e5":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,49 +13,49 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_18_0 1) 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_17_0 1) 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_0)) +(assert (= |EVALEXPR_1| x_8_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (- expr_18_0 1))) +(assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0x5b495b644553a6db05060d953261651dcccfab8892863609bb80f6fa816225f1":"(set-option :produce-models true) +","0x3b3d90fa6754444a847a9b6f723e98fc3c8b428cb56d50a010bc2c435aa1bc10":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -70,47 +70,47 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (= expr_42_1 (> expr_40_0 expr_41_0)) (and (implies (and true true) true) (and (= expr_41_0 0) (and (implies (and true true) (and (>= expr_40_0 0) (<= expr_40_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_40_0 x_9_1) (and (= state_3 (ite (= this_0 expr_33_0) state_0 state_2)) (and (= state_2 (|state_type| (store (|balances| state_1) expr_33_0 (+ (select (|balances| state_1) expr_33_0) expr_36_0)))) (and (= state_1 (|state_type| (store (|balances| state_0) this_0 (+ (select (|balances| state_0) this_0) (- 0 expr_36_0))))) (and (and (>= (select (|balances| state_0) this_0) 0) (<= (select (|balances| state_0) this_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_9_1) (and (implies (and true true) (and (>= expr_33_0 0) (<= expr_33_0 1461501637330902918203684832716283019655932542975))) (and (= expr_33_0 a_7_0) (and (implies (and true true) (and (>= expr_31_1 0) (<= expr_31_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_31_1 (ite (= expr_30_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_30_0 0) (< r_div_mod_0_0 expr_30_0))) (and (= (+ (* d_div_mod_0_0 expr_30_0) r_div_mod_0_0) expr_29_0) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (not expr_42_1))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_29_0 0) (< r_div_mod_0_0 expr_29_0))) (and (= (+ (* d_div_mod_0_0 expr_29_0) r_div_mod_0_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))) (< (select (|balances| state_0) this_0) expr_35_0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -","0x5b98fbb121c58b139f0f8baa8e153dfeb0a4621f789bf1cbbc586298bcae48e1":"(set-option :produce-models true) +","0x3d72a9e21e83263eacaad9b3eaa387b10f1219c1727796d9e946ddce1e99f5a3":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -125,49 +125,49 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))) (= expr_30_0 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))) (= expr_29_0 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| expr_30_0)) +(assert (= |EVALEXPR_2| expr_29_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0x858035fcfc2316b3f09ebac493170a22ae2971f0f65f8ca7e125fe7f4b88756d":"(set-option :produce-models true) +","0x7b2c4d6761f5d49a4a2e0ba56b832d235e93abf16fe2a1383a526aa4fb4fe028":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -182,99 +182,49 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) - -(assert (and (and (and true true) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_15_1)) -(check-sat) -","0xc14e92836e07964eacd7231da77dea92406ac93d4e601c33d2300d5e067bdc1f":"(set-option :produce-models true) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) - -(assert (and (and (and true true) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_15_1))) -(check-sat) -","0xce4156c685d481fe03752262b478cd8877739dba34535f7bfec42a2d30d45445":"(set-option :produce-models true) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_21_0 expr_26_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_20_0 expr_25_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (+ expr_21_0 expr_26_1))) +(assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0xecb8a634d43c6b3fa690c2fec3a4763042a115cb28580d86760b27cbb849cd95":"(set-option :produce-models true) +","0x9190f95880d71b6c4636672b262f07430b161f369cc56816ad265e4fa1ee1f3a":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -289,46 +239,96 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) + +(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1))) +(check-sat) +","0xc36fc4490d40152ecf0546a4da2de10a47f2e87ca102f9b095354b69315d6d60":"(set-option :produce-models true) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_9_1) (and (implies (and true true) (and (>= expr_33_0 0) (<= expr_33_0 1461501637330902918203684832716283019655932542975))) (and (= expr_33_0 a_7_0) (and (implies (and true true) (and (>= expr_31_1 0) (<= expr_31_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_31_1 (ite (= expr_30_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_30_0 0) (< r_div_mod_0_0 expr_30_0))) (and (= (+ (* d_div_mod_0_0 expr_30_0) r_div_mod_0_0) expr_29_0) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))) (< (select (|balances| state_0) this_0) expr_36_0))) +(assert (and (and (and true true) (and (= expr_41_1 (> expr_39_0 expr_40_0)) (and (implies (and true true) true) (and (= expr_40_0 0) (and (implies (and true true) (and (>= expr_39_0 0) (<= expr_39_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_39_0 x_8_1) (and (= state_3 (ite (= this_0 expr_32_0) state_0 state_2)) (and (= state_2 (|state_type| (store (|balances| state_1) expr_32_0 (+ (select (|balances| state_1) expr_32_0) expr_35_0)))) (and (= state_1 (|state_type| (store (|balances| state_0) this_0 (+ (select (|balances| state_0) this_0) (- 0 expr_35_0))))) (and (and (>= (select (|balances| state_0) this_0) 0) (<= (select (|balances| state_0) this_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_29_0 0) (< r_div_mod_0_0 expr_29_0))) (and (= (+ (* d_div_mod_0_0 expr_29_0) r_div_mod_0_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (not expr_41_1))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) +","0xdb117433a9ec32d2f491750fb369a0d49c0afb6cad5f9ea3e1739ef8b87cdf4f":"(set-option :produce-models true) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_0| () Int) +(declare-fun |expr_14_1| () Bool) + +(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1)) +(check-sat) "}},"errors":[{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. --> A:7:15: | @@ -336,7 +336,7 @@ | \t\t\t\t\t\t ^^^^^^ Note: Callstack: -","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":196,"file":"A","start":190},"type":"Warning"},{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. +","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"},{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. --> A:8:7: | 8 | \t\t\t\t\t\t--x; @@ -353,7 +353,7 @@ Note: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> A:9:7: | 9 | \t\t\t\t\t\tx + type(uint).max; @@ -370,7 +370,7 @@ Note: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"},{"component":"general","errorCode":"3046","formattedMessage":"Warning: BMC: Division by zero happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"3046","formattedMessage":"Warning: BMC: Division by zero happens here. --> A:10:7: | 10 | \t\t\t\t\t\t2 / x; @@ -387,7 +387,7 @@ Note: = 0 a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":247,"file":"A","start":242},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. --> A:11:7: | 11 | \t\t\t\t\t\ta.transfer(x); @@ -402,7 +402,7 @@ Note: ","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":268,"file":"A","start":255},"type":"Warning"},{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"},{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. --> A:12:7: | 12 | \t\t\t\t\t\tassert(x > 0); @@ -417,4 +417,4 @@ Note: ","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_all_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_all_chc/input.json index ed1320f83..0ea4f27e2 100644 --- a/test/cmdlineTests/standard_model_checker_targets_all_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_all_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_all_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_all_chc/output.json index c2ffcb729..e0b6fda92 100644 --- a/test/cmdlineTests/standard_model_checker_targets_all_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_all_chc/output.json @@ -22,7 +22,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 0)","severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0 @@ -46,7 +46,7 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0, 2)","severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"},{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. +test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"4281","formattedMessage":"Warning: CHC: Division by zero happens here. Counterexample: arr = [] a = 0 @@ -70,7 +70,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":247,"file":"A","start":242},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0 @@ -94,7 +94,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"},{"component":"general","errorCode":"2529","formattedMessage":"Warning: CHC: Empty array \"pop\" happens here. Counterexample: arr = [] a = 0 @@ -118,7 +118,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":306,"file":"A","start":297},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. +test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"},{"component":"general","errorCode":"6368","formattedMessage":"Warning: CHC: Out of bounds access happens here. Counterexample: arr = [] a = 0 @@ -142,4 +142,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":320,"file":"A","start":314},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/input.json index 6ed7912f8..47e49fbed 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json index 502552e21..6c13dfd00 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x5b495b644553a6db05060d953261651dcccfab8892863609bb80f6fa816225f1":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0xc36fc4490d40152ecf0546a4da2de10a47f2e87ca102f9b095354b69315d6d60":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,44 +13,44 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (= expr_42_1 (> expr_40_0 expr_41_0)) (and (implies (and true true) true) (and (= expr_41_0 0) (and (implies (and true true) (and (>= expr_40_0 0) (<= expr_40_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_40_0 x_9_1) (and (= state_3 (ite (= this_0 expr_33_0) state_0 state_2)) (and (= state_2 (|state_type| (store (|balances| state_1) expr_33_0 (+ (select (|balances| state_1) expr_33_0) expr_36_0)))) (and (= state_1 (|state_type| (store (|balances| state_0) this_0 (+ (select (|balances| state_0) this_0) (- 0 expr_36_0))))) (and (and (>= (select (|balances| state_0) this_0) 0) (<= (select (|balances| state_0) this_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_9_1) (and (implies (and true true) (and (>= expr_33_0 0) (<= expr_33_0 1461501637330902918203684832716283019655932542975))) (and (= expr_33_0 a_7_0) (and (implies (and true true) (and (>= expr_31_1 0) (<= expr_31_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_31_1 (ite (= expr_30_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_30_0 0) (< r_div_mod_0_0 expr_30_0))) (and (= (+ (* d_div_mod_0_0 expr_30_0) r_div_mod_0_0) expr_29_0) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (not expr_42_1))) +(assert (and (and (and true true) (and (= expr_41_1 (> expr_39_0 expr_40_0)) (and (implies (and true true) true) (and (= expr_40_0 0) (and (implies (and true true) (and (>= expr_39_0 0) (<= expr_39_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_39_0 x_8_1) (and (= state_3 (ite (= this_0 expr_32_0) state_0 state_2)) (and (= state_2 (|state_type| (store (|balances| state_1) expr_32_0 (+ (select (|balances| state_1) expr_32_0) expr_35_0)))) (and (= state_1 (|state_type| (store (|balances| state_0) this_0 (+ (select (|balances| state_0) this_0) (- 0 expr_35_0))))) (and (and (>= (select (|balances| state_0) this_0) 0) (<= (select (|balances| state_0) this_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_29_0 0) (< r_div_mod_0_0 expr_29_0))) (and (= (+ (* d_div_mod_0_0 expr_29_0) r_div_mod_0_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (not expr_41_1))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) "}},"errors":[{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. @@ -68,4 +68,4 @@ Note: ","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_assert_chc/input.json index b70d115e7..11b99ae4b 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json index 52211990d..0ecf87bd7 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json @@ -22,4 +22,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/input.json index 6bd45d053..df01286dc 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json index f4efa059b..cc5ccc8b1 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0xecb8a634d43c6b3fa690c2fec3a4763042a115cb28580d86760b27cbb849cd95":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x3b3d90fa6754444a847a9b6f723e98fc3c8b428cb56d50a010bc2c435aa1bc10":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,44 +13,44 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_9_1) (and (implies (and true true) (and (>= expr_33_0 0) (<= expr_33_0 1461501637330902918203684832716283019655932542975))) (and (= expr_33_0 a_7_0) (and (implies (and true true) (and (>= expr_31_1 0) (<= expr_31_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_31_1 (ite (= expr_30_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_30_0 0) (< r_div_mod_0_0 expr_30_0))) (and (= (+ (* d_div_mod_0_0 expr_30_0) r_div_mod_0_0) expr_29_0) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))) (< (select (|balances| state_0) this_0) expr_36_0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_29_0 0) (< r_div_mod_0_0 expr_29_0))) (and (= (+ (* d_div_mod_0_0 expr_29_0) r_div_mod_0_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))) (< (select (|balances| state_0) this_0) expr_35_0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) "}},"errors":[{"component":"general","errorCode":"1236","formattedMessage":"Warning: BMC: Insufficient funds happens here. @@ -68,4 +68,4 @@ Note: ","message":"BMC: Insufficient funds happens here.","secondarySourceLocations":[{"message":"Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":268,"file":"A","start":255},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":237,"file":"A","start":224},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_balance_chc/input.json index d813c474c..e88d2a426 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/input.json index a1287580b..ba61db3e3 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json index 7fc8d7d7d..cbe6d4bef 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x858035fcfc2316b3f09ebac493170a22ae2971f0f65f8ca7e125fe7f4b88756d":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x9190f95880d71b6c4636672b262f07430b161f369cc56816ad265e4fa1ee1f3a":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,17 +13,17 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) +(declare-fun |expr_14_1| () Bool) -(assert (and (and (and true true) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_15_1)) +(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_14_1))) (check-sat) -","0xc14e92836e07964eacd7231da77dea92406ac93d4e601c33d2300d5e067bdc1f":"(set-option :produce-models true) +","0xdb117433a9ec32d2f491750fb369a0d49c0afb6cad5f9ea3e1739ef8b87cdf4f":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -38,15 +38,15 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) +(declare-fun |expr_14_1| () Bool) -(assert (and (and (and true true) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) (not expr_15_1))) +(assert (and (and (and true true) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))) expr_14_1)) (check-sat) "}},"errors":[{"component":"general","errorCode":"6838","formattedMessage":"Warning: BMC: Condition is always true. --> A:7:15: @@ -55,4 +55,4 @@ | \t\t\t\t\t\t ^^^^^^ Note: Callstack: -","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":196,"file":"A","start":190},"type":"Warning"}],"sources":{"A":{"id":0}}} +","message":"BMC: Condition is always true.","secondarySourceLocations":[{"message":"Callstack:"}],"severity":"warning","sourceLocation":{"end":165,"file":"A","start":159},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/input.json index 4abbaa82d..27c53682d 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/input.json index 897a59a39..7514a9af8 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json index 0f13d0bd3..8d17346b1 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x5b98fbb121c58b139f0f8baa8e153dfeb0a4621f789bf1cbbc586298bcae48e1":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x3d72a9e21e83263eacaad9b3eaa387b10f1219c1727796d9e946ddce1e99f5a3":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,46 +13,46 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))) (= expr_30_0 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))) (= expr_29_0 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| expr_30_0)) +(assert (= |EVALEXPR_2| expr_29_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) "}},"errors":[{"component":"general","errorCode":"3046","formattedMessage":"Warning: BMC: Division by zero happens here. @@ -72,4 +72,4 @@ Note: = 0 a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":247,"file":"A","start":242},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/input.json index efcfd6505..b65acfb6f 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json index c1ffe90be..eca84d4b0 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json @@ -22,4 +22,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":247,"file":"A","start":242},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 1)","severity":"warning","sourceLocation":{"end":216,"file":"A","start":211},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/input.json index aeb5f0753..c184e2f12 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/input.json index b971728d8..8a409df98 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json index e339f21cd..bdaa14b50 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json @@ -22,4 +22,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":320,"file":"A","start":314},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":283},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/input.json index 6c72e5803..9ccca64fd 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json index 832c6d2a9..48de11d0c 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0xce4156c685d481fe03752262b478cd8877739dba34535f7bfec42a2d30d45445":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x7b2c4d6761f5d49a4a2e0ba56b832d235e93abf16fe2a1383a526aa4fb4fe028":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,46 +13,46 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_21_0 expr_26_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_20_0 expr_25_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (+ expr_21_0 expr_26_1))) +(assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) "}},"errors":[{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. @@ -72,4 +72,4 @@ Note: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/input.json index 2f1b27a33..ef71d8507 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json index bd0ce53b0..794a11b04 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json @@ -22,4 +22,4 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0, 2)","severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/input.json index ebfd81b3e..d580fc397 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/input.json index e893edd41..13ad86e94 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json index bfa736c81..b6e891d6c 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json @@ -22,4 +22,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":306,"file":"A","start":297},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 1)","severity":"warning","sourceLocation":{"end":275,"file":"A","start":266},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/input.json index e04996468..2bcdef3d7 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json index e06ddec01..ecf66acb7 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x0a84f77238ff8229baeac139d2ec93e905d39b9dba5859a66eaeb7310243c901":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x0bf4bf54fa2ecac3482de1b433e5216d0b2f9c2347e556e43c252499885165e5":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,46 +13,46 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_18_0 1) 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_17_0 1) 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_0)) +(assert (= |EVALEXPR_1| x_8_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (- expr_18_0 1))) +(assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) "}},"errors":[{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. @@ -72,4 +72,4 @@ Note: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/input.json index 0ab9c0df9..6e9b92ba3 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json index 21653a6c5..7a22d148a 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json @@ -22,4 +22,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 0)","severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/input.json index aeee86c77..8598f6772 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json index a848078f1..430cb67f7 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x0a84f77238ff8229baeac139d2ec93e905d39b9dba5859a66eaeb7310243c901":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x0bf4bf54fa2ecac3482de1b433e5216d0b2f9c2347e556e43c252499885165e5":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,49 +13,49 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_18_0 1) 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_17_0 1) 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_0)) +(assert (= |EVALEXPR_1| x_8_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (- expr_18_0 1))) +(assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0x5b495b644553a6db05060d953261651dcccfab8892863609bb80f6fa816225f1":"(set-option :produce-models true) +","0x7b2c4d6761f5d49a4a2e0ba56b832d235e93abf16fe2a1383a526aa4fb4fe028":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -70,103 +70,103 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (= expr_42_1 (> expr_40_0 expr_41_0)) (and (implies (and true true) true) (and (= expr_41_0 0) (and (implies (and true true) (and (>= expr_40_0 0) (<= expr_40_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_40_0 x_9_1) (and (= state_3 (ite (= this_0 expr_33_0) state_0 state_2)) (and (= state_2 (|state_type| (store (|balances| state_1) expr_33_0 (+ (select (|balances| state_1) expr_33_0) expr_36_0)))) (and (= state_1 (|state_type| (store (|balances| state_0) this_0 (+ (select (|balances| state_0) this_0) (- 0 expr_36_0))))) (and (and (>= (select (|balances| state_0) this_0) 0) (<= (select (|balances| state_0) this_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_9_1) (and (implies (and true true) (and (>= expr_33_0 0) (<= expr_33_0 1461501637330902918203684832716283019655932542975))) (and (= expr_33_0 a_7_0) (and (implies (and true true) (and (>= expr_31_1 0) (<= expr_31_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_31_1 (ite (= expr_30_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_30_0 0) (< r_div_mod_0_0 expr_30_0))) (and (= (+ (* d_div_mod_0_0 expr_30_0) r_div_mod_0_0) expr_29_0) (and (implies (and true true) (and (>= expr_30_0 0) (<= expr_30_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_0 x_9_1) (and (implies (and true true) true) (and (= expr_29_0 2) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (+ expr_21_0 expr_26_1)) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (not expr_42_1))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_20_0 expr_25_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) +(declare-const |EVALEXPR_2| Int) +(assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) +(check-sat) +(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) +","0xc36fc4490d40152ecf0546a4da2de10a47f2e87ca102f9b095354b69315d6d60":"(set-option :produce-models true) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) +(declare-fun |expr_26_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_0| () Int) +(declare-fun |d_div_mod_0_0| () Int) +(declare-fun |r_div_mod_0_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) +(declare-fun |state_1| () |state_type|) +(declare-fun |state_2| () |state_type|) +(declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) +(declare-fun |expr_40_0| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) + +(assert (and (and (and true true) (and (= expr_41_1 (> expr_39_0 expr_40_0)) (and (implies (and true true) true) (and (= expr_40_0 0) (and (implies (and true true) (and (>= expr_39_0 0) (<= expr_39_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_39_0 x_8_1) (and (= state_3 (ite (= this_0 expr_32_0) state_0 state_2)) (and (= state_2 (|state_type| (store (|balances| state_1) expr_32_0 (+ (select (|balances| state_1) expr_32_0) expr_35_0)))) (and (= state_1 (|state_type| (store (|balances| state_0) this_0 (+ (select (|balances| state_0) this_0) (- 0 expr_35_0))))) (and (and (>= (select (|balances| state_0) this_0) 0) (<= (select (|balances| state_0) this_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_8_1) (and (implies (and true true) (and (>= expr_32_0 0) (<= expr_32_0 1461501637330902918203684832716283019655932542975))) (and (= expr_32_0 a_6_0) (and (implies (and true true) (and (>= expr_30_1 0) (<= expr_30_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_30_1 (ite (= expr_29_0 0) 0 d_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_29_0 0) (< r_div_mod_0_0 expr_29_0))) (and (= (+ (* d_div_mod_0_0 expr_29_0) r_div_mod_0_0) expr_28_0) (and (implies (and true true) (and (>= expr_29_0 0) (<= expr_29_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_29_0 x_8_1) (and (implies (and true true) true) (and (= expr_28_0 2) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 (+ expr_20_0 expr_25_1)) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (not expr_41_1))) +(declare-const |EVALEXPR_0| Int) +(assert (= |EVALEXPR_0| a_6_0)) +(declare-const |EVALEXPR_1| Int) +(assert (= |EVALEXPR_1| x_8_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| )) -","0xce4156c685d481fe03752262b478cd8877739dba34535f7bfec42a2d30d45445":"(set-option :produce-models true) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) -(declare-fun |d_div_mod_0_0| () Int) -(declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) -(declare-fun |state_1| () |state_type|) -(declare-fun |state_2| () |state_type|) -(declare-fun |state_3| () |state_type|) -(declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) - -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_21_0 expr_26_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) -(declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) -(declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) -(declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (+ expr_21_0 expr_26_1))) -(check-sat) -(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) "}},"errors":[{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. --> A:8:7: | @@ -184,7 +184,7 @@ Note: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> A:9:7: | 9 | \t\t\t\t\t\tx + type(uint).max; @@ -201,7 +201,7 @@ Note: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"},{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"4661","formattedMessage":"Warning: BMC: Assertion violation happens here. --> A:12:7: | 12 | \t\t\t\t\t\tassert(x > 0); @@ -216,4 +216,4 @@ Note: ","message":"BMC: Assertion violation happens here.","secondarySourceLocations":[{"message":"Counterexample: a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/input.json index a87b7151e..06478c45b 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json index 5730b7163..472866447 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json @@ -22,7 +22,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 0)","severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0 @@ -46,7 +46,7 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0, 2)","severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. +test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"},{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation happens here. Counterexample: arr = [] a = 0 @@ -70,4 +70,4 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 1)","severity":"warning","sourceLocation":{"end":289,"file":"A","start":276},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 1)","severity":"warning","sourceLocation":{"end":258,"file":"A","start":245},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/input.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/input.json index b135d7ddb..75ead5336 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json index ea1207544..95877dc18 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x0a84f77238ff8229baeac139d2ec93e905d39b9dba5859a66eaeb7310243c901":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x0bf4bf54fa2ecac3482de1b433e5216d0b2f9c2347e556e43c252499885165e5":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -13,49 +13,49 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_18_0 1) 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))) (< (- expr_17_0 1) 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_0)) +(assert (= |EVALEXPR_1| x_8_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (- expr_18_0 1))) +(assert (= |EVALEXPR_2| (- expr_17_0 1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) -","0xce4156c685d481fe03752262b478cd8877739dba34535f7bfec42a2d30d45445":"(set-option :produce-models true) +","0x7b2c4d6761f5d49a4a2e0ba56b832d235e93abf16fe2a1383a526aa4fb4fe028":"(set-option :produce-models true) (set-logic ALL) (declare-fun |error_0| () Int) (declare-fun |this_0| () Int) @@ -70,46 +70,46 @@ (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) (declare-datatypes ((|uint[]_tuple| 0)) (((|uint[]_tuple| (|uint[]_tuple_accessor_array| (Array Int Int)) (|uint[]_tuple_accessor_length| Int))))) -(declare-fun |arr_5_length_pair_0| () |uint[]_tuple|) -(declare-fun |a_7_0| () Int) -(declare-fun |x_9_0| () Int) -(declare-fun |arr_5_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_0| () |uint[]_tuple|) +(declare-fun |a_6_0| () Int) +(declare-fun |x_8_0| () Int) +(declare-fun |arr_4_length_pair_1| () |uint[]_tuple|) +(declare-fun |expr_12_0| () Int) (declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_0| () Int) -(declare-fun |expr_15_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_1| () Int) -(declare-fun |x_9_1| () Int) -(declare-fun |expr_21_0| () Int) +(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_1| () Int) +(declare-fun |x_8_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_25_1| () Int) (declare-fun |expr_26_1| () Int) -(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) (declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_31_1| () Int) -(declare-fun |expr_33_0| () Int) -(declare-fun |expr_36_0| () Int) +(declare-fun |expr_30_1| () Int) +(declare-fun |expr_32_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |state_1| () |state_type|) (declare-fun |state_2| () |state_type|) (declare-fun |state_3| () |state_type|) +(declare-fun |expr_39_0| () Int) (declare-fun |expr_40_0| () Int) -(declare-fun |expr_41_0| () Int) -(declare-fun |expr_42_1| () Bool) -(declare-fun |expr_45_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_45_length_pair_1| () |uint[]_tuple|) -(declare-fun |arr_5_length_pair_2| () |uint[]_tuple|) -(declare-fun |expr_50_length_pair_0| () |uint[]_tuple|) -(declare-fun |expr_51_0| () Int) -(declare-fun |expr_52_1| () Int) +(declare-fun |expr_41_1| () Bool) +(declare-fun |expr_44_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_44_length_pair_1| () |uint[]_tuple|) +(declare-fun |arr_4_length_pair_2| () |uint[]_tuple|) +(declare-fun |expr_49_length_pair_0| () |uint[]_tuple|) +(declare-fun |expr_50_0| () Int) +(declare-fun |expr_51_1| () Int) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_26_1 0) (<= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_21_0 0) (<= expr_21_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_21_0 x_9_1) (and (ite (and true true) (= x_9_1 (- expr_18_0 1)) (= x_9_1 x_9_0)) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (- expr_18_0 1)) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_9_0) (and (implies (and true true) expr_15_1) (and (= expr_15_1 (>= expr_13_0 expr_14_0)) (and (implies (and true true) true) (and (= expr_14_0 0) (and (implies (and true true) (and (>= expr_13_0 0) (<= expr_13_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_13_0 x_9_0) (and (and (>= x_9_0 0) (<= x_9_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_7_0 0) (<= a_7_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_5_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_21_0 expr_26_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_25_1 0) (<= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_1 115792089237316195423570985008687907853269984665640564039457584007913129639935) (and (implies (and true true) (and (>= expr_20_0 0) (<= expr_20_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_0 x_8_1) (and (ite (and true true) (= x_8_1 (- expr_17_0 1)) (= x_8_1 x_8_0)) (and (implies (and true true) (and (>= expr_18_1 0) (<= expr_18_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_1 (- expr_17_0 1)) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_8_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (>= expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 x_8_0) (and (and (>= x_8_0 0) (<= x_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= a_6_0 0) (<= a_6_0 1461501637330902918203684832716283019655932542975)) (and (>= (|uint[]_tuple_accessor_length| arr_4_length_pair_1) 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 1917212865)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 114)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 70)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 88)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 193)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))) (> (+ expr_20_0 expr_25_1) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| a_7_0)) +(assert (= |EVALEXPR_0| a_6_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| x_9_1)) +(assert (= |EVALEXPR_1| x_8_1)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| (+ expr_21_0 expr_26_1))) +(assert (= |EVALEXPR_2| (+ expr_20_0 expr_25_1))) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| )) "}},"errors":[{"component":"general","errorCode":"4144","formattedMessage":"Warning: BMC: Underflow (resulting value less than 0) happens here. @@ -129,7 +129,7 @@ Note: = (- 1) a = 0 x = 0 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"2661","formattedMessage":"Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> A:9:7: | 9 | \t\t\t\t\t\tx + type(uint).max; @@ -146,4 +146,4 @@ Note: = 2**256 a = 0 x = 1 -"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"}],"sources":{"A":{"id":0}}} +"},{"message":"Callstack:"},{"message":""}],"severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/input.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/input.json index 5da118386..2f960af19 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json index 79ec9349d..d4a502b4b 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json @@ -22,7 +22,7 @@ x = 0 Transaction trace: test.constructor() State: arr = [] -test.f(0, 0)","severity":"warning","sourceLocation":{"end":208,"file":"A","start":205},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. +test.f(0, 0)","severity":"warning","sourceLocation":{"end":177,"file":"A","start":174},"type":"Warning"},{"component":"general","errorCode":"4984","formattedMessage":"Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] a = 0 @@ -46,4 +46,4 @@ x = 1 Transaction trace: test.constructor() State: arr = [] -test.f(0, 2)","severity":"warning","sourceLocation":{"end":234,"file":"A","start":216},"type":"Warning"}],"sources":{"A":{"id":0}}} +test.f(0, 2)","severity":"warning","sourceLocation":{"end":203,"file":"A","start":185},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_targets_wrong/input.json b/test/cmdlineTests/standard_model_checker_targets_wrong/input.json index 2b97bf5f0..2dc6ea56a 100644 --- a/test/cmdlineTests/standard_model_checker_targets_wrong/input.json +++ b/test/cmdlineTests/standard_model_checker_targets_wrong/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test { uint[] arr; function f(address payable a, uint x) public { require(x >= 0); @@ -23,6 +23,7 @@ { "modelChecker": { + "engine": "all", "targets": "aaa,bbb" } } diff --git a/test/cmdlineTests/standard_model_checker_timeout_all/input.json b/test/cmdlineTests/standard_model_checker_timeout_all/input.json index a0de7e267..72c742375 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_all/input.json +++ b/test/cmdlineTests/standard_model_checker_timeout_all/input.json @@ -4,13 +4,14 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test {\nfunction f(uint x, uint y, uint k) public pure {\nrequire(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}}" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test {\nfunction f(uint x, uint y, uint k) public pure {\nrequire(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}}" } }, "settings": { "modelChecker": { + "engine": "all", "timeout": 1000 } } diff --git a/test/cmdlineTests/standard_model_checker_timeout_all/output.json b/test/cmdlineTests/standard_model_checker_timeout_all/output.json index 78e28f345..10189ce86 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_all/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_all/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x20128f216b02af14a995d83d73be606bed1d30f5b248aa72022ace5700085997":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x1719ce19027a9169898fb6d6c5d461e03c688748cb4d3c08ce494cc486e84cfc":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -13,56 +13,56 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_15_0| () Int) (declare-fun |r_div_mod_15_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) (declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) (declare-fun |d_div_mod_16_0| () Int) (declare-fun |r_div_mod_16_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) (declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) (declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |expr_36_0| () Int) (declare-fun |expr_37_0| () Int) -(declare-fun |expr_38_0| () Int) (declare-fun |d_div_mod_17_0| () Int) (declare-fun |r_div_mod_17_0| () Int) -(declare-fun |expr_39_1| () Int) -(declare-fun |r_34_1| () Int) +(declare-fun |expr_38_1| () Int) +(declare-fun |r_33_1| () Int) +(declare-fun |expr_41_0| () Int) (declare-fun |expr_42_0| () Int) -(declare-fun |expr_43_0| () Int) (declare-fun |d_div_mod_18_0| () Int) (declare-fun |r_div_mod_18_0| () Int) -(declare-fun |expr_44_1| () Int) -(declare-fun |expr_45_0| () Int) -(declare-fun |expr_46_1| () Bool) +(declare-fun |expr_43_1| () Int) +(declare-fun |expr_44_0| () Int) +(declare-fun |expr_45_1| () Bool) -(assert (and (and (and true true) (and (= expr_46_1 (= expr_44_1 expr_45_0)) (and (implies (and true true) true) (and (= expr_45_0 0) (and (implies (and true true) (and (>= expr_44_1 0) (<= expr_44_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_44_1 (ite (= expr_43_0 0) 0 r_div_mod_18_0)) (and (and (<= 0 r_div_mod_18_0) (or (= expr_43_0 0) (< r_div_mod_18_0 expr_43_0))) (and (= (+ (* d_div_mod_18_0 expr_43_0) r_div_mod_18_0) expr_42_0) (and (implies (and true true) (and (>= expr_43_0 0) (<= expr_43_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_43_0 k_8_0) (and (implies (and true true) (and (>= expr_42_0 0) (<= expr_42_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_42_0 r_34_1) (and (ite (and true true) (= r_34_1 expr_39_1) (= r_34_1 r_34_0)) (and (implies (and true true) (and (>= expr_39_1 0) (<= expr_39_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_39_1 (ite (= expr_38_0 0) 0 r_div_mod_17_0)) (and (and (<= 0 r_div_mod_17_0) (or (= expr_38_0 0) (< r_div_mod_17_0 expr_38_0))) (and (= (+ (* d_div_mod_17_0 expr_38_0) r_div_mod_17_0) (* expr_36_0 expr_37_0)) (and (implies (and true true) (and (>= expr_38_0 0) (<= expr_38_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_0 k_8_0) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 y_6_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_4_0) (and true (and (implies (and true true) expr_30_1) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_27_0 0) (< r_div_mod_16_0 expr_27_0))) (and (= (+ (* d_div_mod_16_0 expr_27_0) r_div_mod_16_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_19_0 0) (< r_div_mod_15_0 expr_19_0))) (and (= (+ (* d_div_mod_15_0 expr_19_0) r_div_mod_15_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (not expr_46_1))) +(assert (and (and (and true true) (and (= expr_45_1 (= expr_43_1 expr_44_0)) (and (implies (and true true) true) (and (= expr_44_0 0) (and (implies (and true true) (and (>= expr_43_1 0) (<= expr_43_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_43_1 (ite (= expr_42_0 0) 0 r_div_mod_18_0)) (and (and (<= 0 r_div_mod_18_0) (or (= expr_42_0 0) (< r_div_mod_18_0 expr_42_0))) (and (= (+ (* d_div_mod_18_0 expr_42_0) r_div_mod_18_0) expr_41_0) (and (implies (and true true) (and (>= expr_42_0 0) (<= expr_42_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_42_0 k_7_0) (and (implies (and true true) (and (>= expr_41_0 0) (<= expr_41_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_41_0 r_33_1) (and (ite (and true true) (= r_33_1 expr_38_1) (= r_33_1 r_33_0)) (and (implies (and true true) (and (>= expr_38_1 0) (<= expr_38_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_1 (ite (= expr_37_0 0) 0 r_div_mod_17_0)) (and (and (<= 0 r_div_mod_17_0) (or (= expr_37_0 0) (< r_div_mod_17_0 expr_37_0))) (and (= (+ (* d_div_mod_17_0 expr_37_0) r_div_mod_17_0) (* expr_35_0 expr_36_0)) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 k_7_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 y_5_0) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_3_0) (and true (and (implies (and true true) expr_29_1) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_26_0 0) (< r_div_mod_16_0 expr_26_0))) (and (= (+ (* d_div_mod_16_0 expr_26_0) r_div_mod_16_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_18_0 0) (< r_div_mod_15_0 expr_18_0))) (and (= (+ (* d_div_mod_15_0 expr_18_0) r_div_mod_15_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (not expr_45_1))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) +(assert (= |EVALEXPR_0| x_3_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| y_6_0)) +(assert (= |EVALEXPR_1| y_5_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| k_8_0)) +(assert (= |EVALEXPR_2| k_7_0)) (declare-const |EVALEXPR_3| Int) -(assert (= |EVALEXPR_3| r_34_1)) +(assert (= |EVALEXPR_3| r_33_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| )) -","0x21458129e4659a980432a4a5ff17ff1ddc80b13d537896da4b5e9d38f7431e5b":"(set-option :produce-models true) +","0x2e7fd95b441a137fbc24c01fa0e377cff1fb8016c73654c7494c3fc0eca96669":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -77,24 +77,24 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_15_0| () Int) (declare-fun |r_div_mod_15_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) -(assert (and (and (and true true) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_19_0 0) (< r_div_mod_15_0 expr_19_0))) (and (= (+ (* d_div_mod_15_0 expr_19_0) r_div_mod_15_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) expr_22_1)) +(assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_18_0 0) (< r_div_mod_15_0 expr_18_0))) (and (= (+ (* d_div_mod_15_0 expr_18_0) r_div_mod_15_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) (not expr_21_1))) (check-sat) -","0x5b94f720659e6ead8493d1a2a292398100924a3535e01a11c6995eafb7cbd6a9":"(set-option :produce-models true) +","0x576ad64e3e13c1f33a0ba2e36d82c55c41ade17098c66b5fbaa5bfd80d144932":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -109,63 +109,31 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_15_0| () Int) (declare-fun |r_div_mod_15_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) - -(assert (and (and (and true true) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_19_0 0) (< r_div_mod_15_0 expr_19_0))) (and (= (+ (* d_div_mod_15_0 expr_19_0) r_div_mod_15_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) (not expr_22_1))) -(check-sat) -","0x6c3f2167eae640cd0ebf140c1c7e26ef0aa0d3b6ce0028ac4d3240885ccdd904":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) -(declare-fun |d_div_mod_15_0| () Int) -(declare-fun |r_div_mod_15_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) (declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) (declare-fun |d_div_mod_16_0| () Int) (declare-fun |r_div_mod_16_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) -(assert (and (and (and true true) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_27_0 0) (< r_div_mod_16_0 expr_27_0))) (and (= (+ (* d_div_mod_16_0 expr_27_0) r_div_mod_16_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_19_0 0) (< r_div_mod_15_0 expr_19_0))) (and (= (+ (* d_div_mod_15_0 expr_19_0) r_div_mod_15_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) expr_30_1)) +(assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_26_0 0) (< r_div_mod_16_0 expr_26_0))) (and (= (+ (* d_div_mod_16_0 expr_26_0) r_div_mod_16_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_18_0 0) (< r_div_mod_15_0 expr_18_0))) (and (= (+ (* d_div_mod_15_0 expr_18_0) r_div_mod_15_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) (not expr_29_1))) (check-sat) -","0x8698bcbed7fc0ea69610d085b51604707ddb0626f02e2337024e9cc6b8aa0a99":"(set-option :produce-models true) +","0x800a33b96e612ce903e1adb2f5f9f18477f363df09949fa6403bdcfbe4419945":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -180,17 +148,17 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) -(assert (and (and (and true true) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_14_1)) +(assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_13_1)) (check-sat) -","0x8d510ac45e72c76711f42f97e3e8e5e0c8853246dab61e3196afc73b53af1d6c":"(set-option :produce-models true) +","0x8cb48d7d86946a51a784fdd069d1e69a7111aacd0471f89dd52f4f70dabb3902":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -205,17 +173,17 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) -(assert (and (and (and true true) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_14_1))) +(assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_13_1))) (check-sat) -","0xcb34de7f5aac9e88150cc7d2e411e98227052144899d34aff7200a98800205ee":"(set-option :produce-models true) +","0xbf4729d889052ceb349ac4199c42c5b471694704cc569f5e072f82260e73f9b9":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -230,29 +198,61 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_15_0| () Int) (declare-fun |r_div_mod_15_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) (declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) (declare-fun |d_div_mod_16_0| () Int) (declare-fun |r_div_mod_16_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) -(assert (and (and (and true true) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_27_0 0) (< r_div_mod_16_0 expr_27_0))) (and (= (+ (* d_div_mod_16_0 expr_27_0) r_div_mod_16_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_19_0 0) (< r_div_mod_15_0 expr_19_0))) (and (= (+ (* d_div_mod_15_0 expr_19_0) r_div_mod_15_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) (not expr_30_1))) +(assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_16_0)) (and (and (<= 0 r_div_mod_16_0) (or (= expr_26_0 0) (< r_div_mod_16_0 expr_26_0))) (and (= (+ (* d_div_mod_16_0 expr_26_0) r_div_mod_16_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_18_0 0) (< r_div_mod_15_0 expr_18_0))) (and (= (+ (* d_div_mod_15_0 expr_18_0) r_div_mod_15_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) expr_29_1)) +(check-sat) +","0xed833d1ac15d33f05c2cdbeb41ce605b3d55984d743bf769627a87616786b109":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_0| () Int) +(declare-fun |d_div_mod_15_0| () Int) +(declare-fun |r_div_mod_15_0| () Int) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) + +(assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_15_0)) (and (and (<= 0 r_div_mod_15_0) (or (= expr_18_0 0) (< r_div_mod_15_0 expr_18_0))) (and (= (+ (* d_div_mod_15_0 expr_18_0) r_div_mod_15_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) expr_21_1)) (check-sat) "}},"errors":[{"component":"general","errorCode":"6328","formattedMessage":"Warning: CHC: Assertion violation might happen here. --> A:6:85: @@ -260,11 +260,11 @@ 6 | require(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}} | ^^^^^^^^^^^^^^^^^^ -","message":"CHC: Assertion violation might happen here.","severity":"warning","sourceLocation":{"end":258,"file":"A","start":240},"type":"Warning"},{"component":"general","errorCode":"7812","formattedMessage":"Warning: BMC: Assertion violation might happen here. +","message":"CHC: Assertion violation might happen here.","severity":"warning","sourceLocation":{"end":227,"file":"A","start":209},"type":"Warning"},{"component":"general","errorCode":"7812","formattedMessage":"Warning: BMC: Assertion violation might happen here. --> A:6:85: | 6 | require(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}} | ^^^^^^^^^^^^^^^^^^ Note: -","message":"BMC: Assertion violation might happen here.","secondarySourceLocations":[{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":240},"type":"Warning"}],"sources":{"A":{"id":0}}} +","message":"BMC: Assertion violation might happen here.","secondarySourceLocations":[{"message":""}],"severity":"warning","sourceLocation":{"end":227,"file":"A","start":209},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_timeout_bmc/input.json b/test/cmdlineTests/standard_model_checker_timeout_bmc/input.json index 0cf2c2182..94b70a354 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_bmc/input.json +++ b/test/cmdlineTests/standard_model_checker_timeout_bmc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test {\nfunction f(uint x, uint y, uint k) public pure {\nrequire(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}}" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test {\nfunction f(uint x, uint y, uint k) public pure {\nrequire(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}}" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json b/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json index 9a2a200c3..a527701c7 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_bmc/output.json @@ -1,4 +1,4 @@ -{"auxiliaryInputRequested":{"smtlib2queries":{"0x4972c296106f72e4c13333e20bca8875e238534f0f010d0d72555ed9418d69e5":"(set-option :produce-models true) +{"auxiliaryInputRequested":{"smtlib2queries":{"0x075da93c8660f71778056f0a420a479e9594c03c9a961102b0f85c334d3d1c47":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -13,58 +13,58 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) (declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) (declare-fun |d_div_mod_1_0| () Int) (declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) (declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) (declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |expr_36_0| () Int) (declare-fun |expr_37_0| () Int) -(declare-fun |expr_38_0| () Int) (declare-fun |d_div_mod_2_0| () Int) (declare-fun |r_div_mod_2_0| () Int) -(declare-fun |expr_39_1| () Int) -(declare-fun |r_34_1| () Int) +(declare-fun |expr_38_1| () Int) +(declare-fun |r_33_1| () Int) +(declare-fun |expr_41_0| () Int) (declare-fun |expr_42_0| () Int) -(declare-fun |expr_43_0| () Int) (declare-fun |d_div_mod_3_0| () Int) (declare-fun |r_div_mod_3_0| () Int) -(declare-fun |expr_44_1| () Int) -(declare-fun |expr_45_0| () Int) -(declare-fun |expr_46_1| () Bool) +(declare-fun |expr_43_1| () Int) +(declare-fun |expr_44_0| () Int) +(declare-fun |expr_45_1| () Bool) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))) (= expr_19_0 0))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))) (= expr_18_0 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) +(assert (= |EVALEXPR_0| x_3_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| y_6_0)) +(assert (= |EVALEXPR_1| y_5_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| k_8_0)) +(assert (= |EVALEXPR_2| k_7_0)) (declare-const |EVALEXPR_3| Int) -(assert (= |EVALEXPR_3| r_34_0)) +(assert (= |EVALEXPR_3| r_33_0)) (declare-const |EVALEXPR_4| Int) -(assert (= |EVALEXPR_4| expr_19_0)) +(assert (= |EVALEXPR_4| expr_18_0)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x4b1d1f3cf356fb064f297dee0f62b8b494fe71aed1a9a89698cb30197a76a259":"(set-option :produce-models true) +","0x1a3b84614aa3190f2c5e278cb87ce88f943505bc35383416538dbac3247630f4":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -79,56 +79,375 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) (declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) (declare-fun |d_div_mod_1_0| () Int) (declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) (declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) (declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) +(declare-fun |expr_35_0| () Int) (declare-fun |expr_36_0| () Int) (declare-fun |expr_37_0| () Int) -(declare-fun |expr_38_0| () Int) (declare-fun |d_div_mod_2_0| () Int) (declare-fun |r_div_mod_2_0| () Int) -(declare-fun |expr_39_1| () Int) -(declare-fun |r_34_1| () Int) +(declare-fun |expr_38_1| () Int) +(declare-fun |r_33_1| () Int) +(declare-fun |expr_41_0| () Int) (declare-fun |expr_42_0| () Int) -(declare-fun |expr_43_0| () Int) (declare-fun |d_div_mod_3_0| () Int) (declare-fun |r_div_mod_3_0| () Int) -(declare-fun |expr_44_1| () Int) -(declare-fun |expr_45_0| () Int) -(declare-fun |expr_46_1| () Bool) +(declare-fun |expr_43_1| () Int) +(declare-fun |expr_44_0| () Int) +(declare-fun |expr_45_1| () Bool) -(assert (and (and (and true true) (and (= expr_46_1 (= expr_44_1 expr_45_0)) (and (implies (and true true) true) (and (= expr_45_0 0) (and (implies (and true true) (and (>= expr_44_1 0) (<= expr_44_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_44_1 (ite (= expr_43_0 0) 0 r_div_mod_3_0)) (and (and (<= 0 r_div_mod_3_0) (or (= expr_43_0 0) (< r_div_mod_3_0 expr_43_0))) (and (= (+ (* d_div_mod_3_0 expr_43_0) r_div_mod_3_0) expr_42_0) (and (implies (and true true) (and (>= expr_43_0 0) (<= expr_43_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_43_0 k_8_0) (and (implies (and true true) (and (>= expr_42_0 0) (<= expr_42_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_42_0 r_34_1) (and (ite (and true true) (= r_34_1 expr_39_1) (= r_34_1 r_34_0)) (and (implies (and true true) (and (>= expr_39_1 0) (<= expr_39_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_39_1 (ite (= expr_38_0 0) 0 r_div_mod_2_0)) (and (and (<= 0 r_div_mod_2_0) (or (= expr_38_0 0) (< r_div_mod_2_0 expr_38_0))) (and (= (+ (* d_div_mod_2_0 expr_38_0) r_div_mod_2_0) (* expr_36_0 expr_37_0)) (and (implies (and true true) (and (>= expr_38_0 0) (<= expr_38_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_0 k_8_0) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 y_6_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_4_0) (and true (and (implies (and true true) expr_30_1) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_27_0 0) (< r_div_mod_1_0 expr_27_0))) (and (= (+ (* d_div_mod_1_0 expr_27_0) r_div_mod_1_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (not expr_46_1))) +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))) (= expr_26_0 0))) (declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) +(assert (= |EVALEXPR_0| x_3_0)) (declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| y_6_0)) +(assert (= |EVALEXPR_1| y_5_0)) (declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| k_8_0)) +(assert (= |EVALEXPR_2| k_7_0)) (declare-const |EVALEXPR_3| Int) -(assert (= |EVALEXPR_3| r_34_1)) +(assert (= |EVALEXPR_3| r_33_0)) +(declare-const |EVALEXPR_4| Int) +(assert (= |EVALEXPR_4| expr_26_0)) +(check-sat) +(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) +","0x21fde84236e3514749a6958e6f0364d4de30a7ca5244882f303bdf4af0005559":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_0| () Int) +(declare-fun |d_div_mod_0_0| () Int) +(declare-fun |r_div_mod_0_0| () Int) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) +(declare-fun |expr_26_0| () Int) +(declare-fun |d_div_mod_1_0| () Int) +(declare-fun |r_div_mod_1_0| () Int) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) + +(assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) expr_29_1)) +(check-sat) +","0x37530a776a831afc7e61d715d95a5be0e88f1daed9e69e3e763055d2e0d8b018":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_0| () Int) +(declare-fun |d_div_mod_0_0| () Int) +(declare-fun |r_div_mod_0_0| () Int) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) + +(assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) (not expr_21_1))) +(check-sat) +","0x56b67ed4ade0621382ef41f7610d672c79a9645644ecb5ed33a62243c0786d93":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_0| () Int) +(declare-fun |d_div_mod_0_0| () Int) +(declare-fun |r_div_mod_0_0| () Int) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) +(declare-fun |expr_26_0| () Int) +(declare-fun |d_div_mod_1_0| () Int) +(declare-fun |r_div_mod_1_0| () Int) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) +(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) +(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) +(declare-fun |expr_35_0| () Int) +(declare-fun |expr_36_0| () Int) +(declare-fun |expr_37_0| () Int) +(declare-fun |d_div_mod_2_0| () Int) +(declare-fun |r_div_mod_2_0| () Int) +(declare-fun |expr_38_1| () Int) +(declare-fun |r_33_1| () Int) +(declare-fun |expr_41_0| () Int) +(declare-fun |expr_42_0| () Int) +(declare-fun |d_div_mod_3_0| () Int) +(declare-fun |r_div_mod_3_0| () Int) +(declare-fun |expr_43_1| () Int) +(declare-fun |expr_44_0| () Int) +(declare-fun |expr_45_1| () Bool) + +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 k_7_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 y_5_0) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_3_0) (and true (and (implies (and true true) expr_29_1) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (= expr_37_0 0))) +(declare-const |EVALEXPR_0| Int) +(assert (= |EVALEXPR_0| x_3_0)) +(declare-const |EVALEXPR_1| Int) +(assert (= |EVALEXPR_1| y_5_0)) +(declare-const |EVALEXPR_2| Int) +(assert (= |EVALEXPR_2| k_7_0)) +(declare-const |EVALEXPR_3| Int) +(assert (= |EVALEXPR_3| r_33_0)) +(declare-const |EVALEXPR_4| Int) +(assert (= |EVALEXPR_4| expr_37_0)) +(check-sat) +(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) +","0x77f0eb485dbc414d8f101601c23e8e0094b5d09b816bc0ca9bb0ed4bf605c529":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_0| () Int) +(declare-fun |d_div_mod_0_0| () Int) +(declare-fun |r_div_mod_0_0| () Int) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) +(declare-fun |expr_26_0| () Int) +(declare-fun |d_div_mod_1_0| () Int) +(declare-fun |r_div_mod_1_0| () Int) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) +(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) +(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) +(declare-fun |expr_35_0| () Int) +(declare-fun |expr_36_0| () Int) +(declare-fun |expr_37_0| () Int) +(declare-fun |d_div_mod_2_0| () Int) +(declare-fun |r_div_mod_2_0| () Int) +(declare-fun |expr_38_1| () Int) +(declare-fun |r_33_1| () Int) +(declare-fun |expr_41_0| () Int) +(declare-fun |expr_42_0| () Int) +(declare-fun |d_div_mod_3_0| () Int) +(declare-fun |r_div_mod_3_0| () Int) +(declare-fun |expr_43_1| () Int) +(declare-fun |expr_44_0| () Int) +(declare-fun |expr_45_1| () Bool) + +(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_42_0 0) (<= expr_42_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_42_0 k_7_0) (and (implies (and true true) (and (>= expr_41_0 0) (<= expr_41_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_41_0 r_33_1) (and (ite (and true true) (= r_33_1 expr_38_1) (= r_33_1 r_33_0)) (and (implies (and true true) (and (>= expr_38_1 0) (<= expr_38_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_1 (ite (= expr_37_0 0) 0 r_div_mod_2_0)) (and (and (<= 0 r_div_mod_2_0) (or (= expr_37_0 0) (< r_div_mod_2_0 expr_37_0))) (and (= (+ (* d_div_mod_2_0 expr_37_0) r_div_mod_2_0) (* expr_35_0 expr_36_0)) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 k_7_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 y_5_0) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_3_0) (and true (and (implies (and true true) expr_29_1) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))))))))))))))))))))) (= expr_42_0 0))) +(declare-const |EVALEXPR_0| Int) +(assert (= |EVALEXPR_0| x_3_0)) +(declare-const |EVALEXPR_1| Int) +(assert (= |EVALEXPR_1| y_5_0)) +(declare-const |EVALEXPR_2| Int) +(assert (= |EVALEXPR_2| k_7_0)) +(declare-const |EVALEXPR_3| Int) +(assert (= |EVALEXPR_3| r_33_1)) +(declare-const |EVALEXPR_4| Int) +(assert (= |EVALEXPR_4| expr_42_0)) +(check-sat) +(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) +","0x800a33b96e612ce903e1adb2f5f9f18477f363df09949fa6403bdcfbe4419945":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) + +(assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_13_1)) +(check-sat) +","0x8cb48d7d86946a51a784fdd069d1e69a7111aacd0471f89dd52f4f70dabb3902":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) + +(assert (and (and (and true true) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_13_1))) +(check-sat) +","0xa23ffc29fd0f234799bf813230dedac961ece673de3fb9f45be5c0383ab22143":"(set-option :produce-models true) +(set-option :timeout 1000) +(set-logic ALL) +(declare-fun |error_0| () Int) +(declare-fun |this_0| () Int) +(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) +(declare-fun |state_0| () |state_type|) +(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) +(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) +(declare-fun |tx_0| () |tx_type|) +(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) +(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) +(declare-fun |crypto_0| () |crypto_type|) +(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) +(declare-fun |abi_0| () |abi_type|) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) +(declare-fun |expr_12_0| () Int) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) +(declare-fun |expr_18_0| () Int) +(declare-fun |d_div_mod_0_0| () Int) +(declare-fun |r_div_mod_0_0| () Int) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) +(declare-fun |expr_26_0| () Int) +(declare-fun |d_div_mod_1_0| () Int) +(declare-fun |r_div_mod_1_0| () Int) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) +(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) +(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) +(declare-fun |expr_35_0| () Int) +(declare-fun |expr_36_0| () Int) +(declare-fun |expr_37_0| () Int) +(declare-fun |d_div_mod_2_0| () Int) +(declare-fun |r_div_mod_2_0| () Int) +(declare-fun |expr_38_1| () Int) +(declare-fun |r_33_1| () Int) +(declare-fun |expr_41_0| () Int) +(declare-fun |expr_42_0| () Int) +(declare-fun |d_div_mod_3_0| () Int) +(declare-fun |r_div_mod_3_0| () Int) +(declare-fun |expr_43_1| () Int) +(declare-fun |expr_44_0| () Int) +(declare-fun |expr_45_1| () Bool) + +(assert (and (and (and true true) (and (= expr_45_1 (= expr_43_1 expr_44_0)) (and (implies (and true true) true) (and (= expr_44_0 0) (and (implies (and true true) (and (>= expr_43_1 0) (<= expr_43_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_43_1 (ite (= expr_42_0 0) 0 r_div_mod_3_0)) (and (and (<= 0 r_div_mod_3_0) (or (= expr_42_0 0) (< r_div_mod_3_0 expr_42_0))) (and (= (+ (* d_div_mod_3_0 expr_42_0) r_div_mod_3_0) expr_41_0) (and (implies (and true true) (and (>= expr_42_0 0) (<= expr_42_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_42_0 k_7_0) (and (implies (and true true) (and (>= expr_41_0 0) (<= expr_41_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_41_0 r_33_1) (and (ite (and true true) (= r_33_1 expr_38_1) (= r_33_1 r_33_0)) (and (implies (and true true) (and (>= expr_38_1 0) (<= expr_38_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_1 (ite (= expr_37_0 0) 0 r_div_mod_2_0)) (and (and (<= 0 r_div_mod_2_0) (or (= expr_37_0 0) (< r_div_mod_2_0 expr_37_0))) (and (= (+ (* d_div_mod_2_0 expr_37_0) r_div_mod_2_0) (* expr_35_0 expr_36_0)) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 k_7_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 y_5_0) (and (implies (and true true) (and (>= expr_35_0 0) (<= expr_35_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_35_0 x_3_0) (and true (and (implies (and true true) expr_29_1) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (not expr_45_1))) +(declare-const |EVALEXPR_0| Int) +(assert (= |EVALEXPR_0| x_3_0)) +(declare-const |EVALEXPR_1| Int) +(assert (= |EVALEXPR_1| y_5_0)) +(declare-const |EVALEXPR_2| Int) +(assert (= |EVALEXPR_2| k_7_0)) +(declare-const |EVALEXPR_3| Int) +(assert (= |EVALEXPR_3| r_33_1)) (check-sat) (get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| )) -","0x6dfb9b70f4fd9855d2893a7386ae66f33973bc556b321a3fe4cbc8616066dbfa":"(set-option :produce-models true) +","0xe77e23370248554fe4a30d7efb0fd2a5685cf56372c23572e3be6ffa872188e3":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -143,90 +462,31 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) - -(assert (and (and (and true true) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) expr_22_1)) -(check-sat) -","0x771484feb00dbca78ae6e57bb31aaa628cc933226d8f77f2678b98789bee3410":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) -(declare-fun |d_div_mod_0_0| () Int) -(declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) +(declare-fun |expr_25_0| () Int) (declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) (declare-fun |d_div_mod_1_0| () Int) (declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) -(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) -(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) -(declare-fun |expr_36_0| () Int) -(declare-fun |expr_37_0| () Int) -(declare-fun |expr_38_0| () Int) -(declare-fun |d_div_mod_2_0| () Int) -(declare-fun |r_div_mod_2_0| () Int) -(declare-fun |expr_39_1| () Int) -(declare-fun |r_34_1| () Int) -(declare-fun |expr_42_0| () Int) -(declare-fun |expr_43_0| () Int) -(declare-fun |d_div_mod_3_0| () Int) -(declare-fun |r_div_mod_3_0| () Int) -(declare-fun |expr_44_1| () Int) -(declare-fun |expr_45_0| () Int) -(declare-fun |expr_46_1| () Bool) +(declare-fun |expr_27_1| () Int) +(declare-fun |expr_28_0| () Int) +(declare-fun |expr_29_1| () Bool) -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_38_0 0) (<= expr_38_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_0 k_8_0) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 y_6_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_4_0) (and true (and (implies (and true true) expr_30_1) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_27_0 0) (< r_div_mod_1_0 expr_27_0))) (and (= (+ (* d_div_mod_1_0 expr_27_0) r_div_mod_1_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))))))))))) (= expr_38_0 0))) -(declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) -(declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| y_6_0)) -(declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| k_8_0)) -(declare-const |EVALEXPR_3| Int) -(assert (= |EVALEXPR_3| r_34_0)) -(declare-const |EVALEXPR_4| Int) -(assert (= |EVALEXPR_4| expr_38_0)) +(assert (and (and (and true true) (and (= expr_29_1 (= expr_27_1 expr_28_0)) (and (implies (and true true) true) (and (= expr_28_0 0) (and (implies (and true true) (and (>= expr_27_1 0) (<= expr_27_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_1 (ite (= expr_26_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_26_0 0) (< r_div_mod_1_0 expr_26_0))) (and (= (+ (* d_div_mod_1_0 expr_26_0) r_div_mod_1_0) expr_25_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 k_7_0) (and (implies (and true true) (and (>= expr_25_0 0) (<= expr_25_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_25_0 y_5_0) (and (implies (and true true) expr_21_1) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) (not expr_29_1))) (check-sat) -(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0x8698bcbed7fc0ea69610d085b51604707ddb0626f02e2337024e9cc6b8aa0a99":"(set-option :produce-models true) +","0xfc82eb84e497d575a4215fad375f1975380f162091264105c4c6a8655c1fc26c":"(set-option :produce-models true) (set-option :timeout 1000) (set-logic ALL) (declare-fun |error_0| () Int) @@ -241,282 +501,22 @@ (declare-fun |crypto_0| () |crypto_type|) (declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) (declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) +(declare-fun |x_3_0| () Int) +(declare-fun |y_5_0| () Int) +(declare-fun |k_7_0| () Int) +(declare-fun |r_33_0| () Int) +(declare-fun |expr_11_0| () Int) (declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) - -(assert (and (and (and true true) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) expr_14_1)) -(check-sat) -","0x8d510ac45e72c76711f42f97e3e8e5e0c8853246dab61e3196afc73b53af1d6c":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) - -(assert (and (and (and true true) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))) (not expr_14_1))) -(check-sat) -","0x9474fe70e20388a6a89c9372087fdee959017369fec8167e36b56006519b2705":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) +(declare-fun |expr_13_1| () Bool) +(declare-fun |expr_17_0| () Int) (declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) (declare-fun |d_div_mod_0_0| () Int) (declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) -(declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) -(declare-fun |d_div_mod_1_0| () Int) -(declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) +(declare-fun |expr_19_1| () Int) +(declare-fun |expr_20_0| () Int) +(declare-fun |expr_21_1| () Bool) -(assert (and (and (and true true) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_27_0 0) (< r_div_mod_1_0 expr_27_0))) (and (= (+ (* d_div_mod_1_0 expr_27_0) r_div_mod_1_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) expr_30_1)) -(check-sat) -","0x99b9884facc2c9163b47237d17b3729d079024137109442158168f9477495d9e":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) -(declare-fun |d_div_mod_0_0| () Int) -(declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) -(declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) -(declare-fun |d_div_mod_1_0| () Int) -(declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) -(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) -(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) -(declare-fun |expr_36_0| () Int) -(declare-fun |expr_37_0| () Int) -(declare-fun |expr_38_0| () Int) -(declare-fun |d_div_mod_2_0| () Int) -(declare-fun |r_div_mod_2_0| () Int) -(declare-fun |expr_39_1| () Int) -(declare-fun |r_34_1| () Int) -(declare-fun |expr_42_0| () Int) -(declare-fun |expr_43_0| () Int) -(declare-fun |d_div_mod_3_0| () Int) -(declare-fun |r_div_mod_3_0| () Int) -(declare-fun |expr_44_1| () Int) -(declare-fun |expr_45_0| () Int) -(declare-fun |expr_46_1| () Bool) - -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_43_0 0) (<= expr_43_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_43_0 k_8_0) (and (implies (and true true) (and (>= expr_42_0 0) (<= expr_42_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_42_0 r_34_1) (and (ite (and true true) (= r_34_1 expr_39_1) (= r_34_1 r_34_0)) (and (implies (and true true) (and (>= expr_39_1 0) (<= expr_39_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_39_1 (ite (= expr_38_0 0) 0 r_div_mod_2_0)) (and (and (<= 0 r_div_mod_2_0) (or (= expr_38_0 0) (< r_div_mod_2_0 expr_38_0))) (and (= (+ (* d_div_mod_2_0 expr_38_0) r_div_mod_2_0) (* expr_36_0 expr_37_0)) (and (implies (and true true) (and (>= expr_38_0 0) (<= expr_38_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_38_0 k_8_0) (and (implies (and true true) (and (>= expr_37_0 0) (<= expr_37_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_37_0 y_6_0) (and (implies (and true true) (and (>= expr_36_0 0) (<= expr_36_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_36_0 x_4_0) (and true (and (implies (and true true) expr_30_1) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_27_0 0) (< r_div_mod_1_0 expr_27_0))) (and (= (+ (* d_div_mod_1_0 expr_27_0) r_div_mod_1_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))))))))))))))))))))))))))) (= expr_43_0 0))) -(declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) -(declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| y_6_0)) -(declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| k_8_0)) -(declare-const |EVALEXPR_3| Int) -(assert (= |EVALEXPR_3| r_34_1)) -(declare-const |EVALEXPR_4| Int) -(assert (= |EVALEXPR_4| expr_43_0)) -(check-sat) -(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0xb1b8edd8297fdf49e468f0bad44857c5fbf4dce9c8cc5b72536b62ce9c26f212":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) -(declare-fun |d_div_mod_0_0| () Int) -(declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) - -(assert (and (and (and true true) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) (not expr_22_1))) -(check-sat) -","0xc4635a10752cbcb093cc7ecf3f951b561da6050c9ba21e8d218b53119d393df5":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) -(declare-fun |d_div_mod_0_0| () Int) -(declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) -(declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) -(declare-fun |d_div_mod_1_0| () Int) -(declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) -(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_0| (Int Int Int ) Int) -(declare-fun |t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_abstract_0| () Int) -(declare-fun |expr_36_0| () Int) -(declare-fun |expr_37_0| () Int) -(declare-fun |expr_38_0| () Int) -(declare-fun |d_div_mod_2_0| () Int) -(declare-fun |r_div_mod_2_0| () Int) -(declare-fun |expr_39_1| () Int) -(declare-fun |r_34_1| () Int) -(declare-fun |expr_42_0| () Int) -(declare-fun |expr_43_0| () Int) -(declare-fun |d_div_mod_3_0| () Int) -(declare-fun |r_div_mod_3_0| () Int) -(declare-fun |expr_44_1| () Int) -(declare-fun |expr_45_0| () Int) -(declare-fun |expr_46_1| () Bool) - -(assert (and (and (and true true) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true)))))))))))))))))))))))))))) (= expr_27_0 0))) -(declare-const |EVALEXPR_0| Int) -(assert (= |EVALEXPR_0| x_4_0)) -(declare-const |EVALEXPR_1| Int) -(assert (= |EVALEXPR_1| y_6_0)) -(declare-const |EVALEXPR_2| Int) -(assert (= |EVALEXPR_2| k_8_0)) -(declare-const |EVALEXPR_3| Int) -(assert (= |EVALEXPR_3| r_34_0)) -(declare-const |EVALEXPR_4| Int) -(assert (= |EVALEXPR_4| expr_27_0)) -(check-sat) -(get-value (|EVALEXPR_0| |EVALEXPR_1| |EVALEXPR_2| |EVALEXPR_3| |EVALEXPR_4| )) -","0xed5829705f3a2629f3f7d8b49ae64536cf54cf8fc99fa84537c7478b080810a4":"(set-option :produce-models true) -(set-option :timeout 1000) -(set-logic ALL) -(declare-fun |error_0| () Int) -(declare-fun |this_0| () Int) -(declare-datatypes ((|state_type| 0)) (((|state_type| (|balances| (Array Int Int)))))) -(declare-fun |state_0| () |state_type|) -(declare-datatypes ((|bytes_tuple| 0)) (((|bytes_tuple| (|bytes_tuple_accessor_array| (Array Int Int)) (|bytes_tuple_accessor_length| Int))))) -(declare-datatypes ((|tx_type| 0)) (((|tx_type| (|block.chainid| Int) (|block.coinbase| Int) (|block.difficulty| Int) (|block.gaslimit| Int) (|block.number| Int) (|block.timestamp| Int) (|blockhash| (Array Int Int)) (|msg.data| |bytes_tuple|) (|msg.sender| Int) (|msg.sig| Int) (|msg.value| Int) (|tx.gasprice| Int) (|tx.origin| Int))))) -(declare-fun |tx_0| () |tx_type|) -(declare-datatypes ((|ecrecover_input_type| 0)) (((|ecrecover_input_type| (|hash| Int) (|v| Int) (|r| Int) (|s| Int))))) -(declare-datatypes ((|crypto_type| 0)) (((|crypto_type| (|ecrecover| (Array |ecrecover_input_type| Int)) (|keccak256| (Array |bytes_tuple| Int)) (|ripemd160| (Array |bytes_tuple| Int)) (|sha256| (Array |bytes_tuple| Int)))))) -(declare-fun |crypto_0| () |crypto_type|) -(declare-datatypes ((|abi_type| 0)) (((|abi_type|)))) -(declare-fun |abi_0| () |abi_type|) -(declare-fun |x_4_0| () Int) -(declare-fun |y_6_0| () Int) -(declare-fun |k_8_0| () Int) -(declare-fun |r_34_0| () Int) -(declare-fun |expr_12_0| () Int) -(declare-fun |expr_13_0| () Int) -(declare-fun |expr_14_1| () Bool) -(declare-fun |expr_18_0| () Int) -(declare-fun |expr_19_0| () Int) -(declare-fun |d_div_mod_0_0| () Int) -(declare-fun |r_div_mod_0_0| () Int) -(declare-fun |expr_20_1| () Int) -(declare-fun |expr_21_0| () Int) -(declare-fun |expr_22_1| () Bool) -(declare-fun |expr_26_0| () Int) -(declare-fun |expr_27_0| () Int) -(declare-fun |d_div_mod_1_0| () Int) -(declare-fun |r_div_mod_1_0| () Int) -(declare-fun |expr_28_1| () Int) -(declare-fun |expr_29_0| () Int) -(declare-fun |expr_30_1| () Bool) - -(assert (and (and (and true true) (and (= expr_30_1 (= expr_28_1 expr_29_0)) (and (implies (and true true) true) (and (= expr_29_0 0) (and (implies (and true true) (and (>= expr_28_1 0) (<= expr_28_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_28_1 (ite (= expr_27_0 0) 0 r_div_mod_1_0)) (and (and (<= 0 r_div_mod_1_0) (or (= expr_27_0 0) (< r_div_mod_1_0 expr_27_0))) (and (= (+ (* d_div_mod_1_0 expr_27_0) r_div_mod_1_0) expr_26_0) (and (implies (and true true) (and (>= expr_27_0 0) (<= expr_27_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_27_0 k_8_0) (and (implies (and true true) (and (>= expr_26_0 0) (<= expr_26_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_26_0 y_6_0) (and (implies (and true true) expr_22_1) (and (= expr_22_1 (= expr_20_1 expr_21_0)) (and (implies (and true true) true) (and (= expr_21_0 0) (and (implies (and true true) (and (>= expr_20_1 0) (<= expr_20_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_20_1 (ite (= expr_19_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_19_0 0) (< r_div_mod_0_0 expr_19_0))) (and (= (+ (* d_div_mod_0_0 expr_19_0) r_div_mod_0_0) expr_18_0) (and (implies (and true true) (and (>= expr_19_0 0) (<= expr_19_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_0 k_8_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 x_4_0) (and (implies (and true true) expr_14_1) (and (= expr_14_1 (> expr_12_0 expr_13_0)) (and (implies (and true true) true) (and (= expr_13_0 0) (and (implies (and true true) (and (>= expr_12_0 0) (<= expr_12_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_12_0 k_8_0) (and (and (>= k_8_0 0) (<= k_8_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_6_0 0) (<= y_6_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_4_0 0) (<= x_4_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_34_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))))))))))))))) (not expr_30_1))) +(assert (and (and (and true true) (and (= expr_21_1 (= expr_19_1 expr_20_0)) (and (implies (and true true) true) (and (= expr_20_0 0) (and (implies (and true true) (and (>= expr_19_1 0) (<= expr_19_1 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_19_1 (ite (= expr_18_0 0) 0 r_div_mod_0_0)) (and (and (<= 0 r_div_mod_0_0) (or (= expr_18_0 0) (< r_div_mod_0_0 expr_18_0))) (and (= (+ (* d_div_mod_0_0 expr_18_0) r_div_mod_0_0) expr_17_0) (and (implies (and true true) (and (>= expr_18_0 0) (<= expr_18_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_18_0 k_7_0) (and (implies (and true true) (and (>= expr_17_0 0) (<= expr_17_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_17_0 x_3_0) (and (implies (and true true) expr_13_1) (and (= expr_13_1 (> expr_11_0 expr_12_0)) (and (implies (and true true) true) (and (= expr_12_0 0) (and (implies (and true true) (and (>= expr_11_0 0) (<= expr_11_0 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (= expr_11_0 k_7_0) (and (and (>= k_7_0 0) (<= k_7_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= y_5_0 0) (<= y_5_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (and (>= x_3_0 0) (<= x_3_0 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (= r_33_0 0) (and (and (and (and (and (and (and (and (and (and (and (and (>= (|block.chainid| tx_0) 0) (<= (|block.chainid| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935)) (and (>= (|block.coinbase| tx_0) 0) (<= (|block.coinbase| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|block.difficulty| tx_0) 0) (<= (|block.difficulty| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.gaslimit| tx_0) 0) (<= (|block.gaslimit| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.number| tx_0) 0) (<= (|block.number| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|block.timestamp| tx_0) 0) (<= (|block.timestamp| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|msg.sender| tx_0) 0) (<= (|msg.sender| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|msg.value| tx_0) 0) (<= (|msg.value| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (>= (|tx.origin| tx_0) 0) (<= (|tx.origin| tx_0) 1461501637330902918203684832716283019655932542975))) (and (>= (|tx.gasprice| tx_0) 0) (<= (|tx.gasprice| tx_0) 115792089237316195423570985008687907853269984665640564039457584007913129639935))) (and (and (and (and (and (and (= (|msg.value| tx_0) 0) (= (|msg.sig| tx_0) 3204897777)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 0) 191)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 1) 6)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 2) 219)) (= (select (|bytes_tuple_accessor_array| (|msg.data| tx_0)) 3) 241)) (>= (|bytes_tuple_accessor_length| (|msg.data| tx_0)) 4))) true))))))))))))))))))))))) expr_21_1)) (check-sat) "}},"errors":[{"component":"general","errorCode":"7812","formattedMessage":"Warning: BMC: Assertion violation might happen here. --> A:6:85: @@ -525,4 +525,4 @@ | ^^^^^^^^^^^^^^^^^^ Note: -","message":"BMC: Assertion violation might happen here.","secondarySourceLocations":[{"message":""}],"severity":"warning","sourceLocation":{"end":258,"file":"A","start":240},"type":"Warning"}],"sources":{"A":{"id":0}}} +","message":"BMC: Assertion violation might happen here.","secondarySourceLocations":[{"message":""}],"severity":"warning","sourceLocation":{"end":227,"file":"A","start":209},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_timeout_chc/input.json b/test/cmdlineTests/standard_model_checker_timeout_chc/input.json index 2e54455fb..156f9580d 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_chc/input.json +++ b/test/cmdlineTests/standard_model_checker_timeout_chc/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract test {\nfunction f(uint x, uint y, uint k) public pure {\nrequire(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}}" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract test {\nfunction f(uint x, uint y, uint k) public pure {\nrequire(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}}" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_timeout_chc/output.json b/test/cmdlineTests/standard_model_checker_timeout_chc/output.json index 907d2fdeb..34de85f8f 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_timeout_chc/output.json @@ -4,4 +4,4 @@ 6 | require(k > 0); require(x % k == 0); require(y % k == 0); uint r = mulmod(x, y, k); assert(r % k == 0);}} | ^^^^^^^^^^^^^^^^^^ -","message":"CHC: Assertion violation might happen here.","severity":"warning","sourceLocation":{"end":258,"file":"A","start":240},"type":"Warning"}],"sources":{"A":{"id":0}}} +","message":"CHC: Assertion violation might happen here.","severity":"warning","sourceLocation":{"end":227,"file":"A","start":209},"type":"Warning"}],"sources":{"A":{"id":0}}} diff --git a/test/cmdlineTests/standard_model_checker_timeout_wrong_key/input.json b/test/cmdlineTests/standard_model_checker_timeout_wrong_key/input.json index b0196d3be..bcfdaf832 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_wrong_key/input.json +++ b/test/cmdlineTests/standard_model_checker_timeout_wrong_key/input.json @@ -4,7 +4,7 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract C { function f(uint x) public pure { assert(x > 0); } }" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract C { function f(uint x) public pure { assert(x > 0); } }" } }, "settings": diff --git a/test/cmdlineTests/standard_model_checker_timeout_wrong_value/input.json b/test/cmdlineTests/standard_model_checker_timeout_wrong_value/input.json index 86a17c1d9..52187cc88 100644 --- a/test/cmdlineTests/standard_model_checker_timeout_wrong_value/input.json +++ b/test/cmdlineTests/standard_model_checker_timeout_wrong_value/input.json @@ -4,13 +4,14 @@ { "A": { - "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\npragma experimental SMTChecker;\ncontract C { function f(uint x) public pure { assert(x > 0); } }" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.0;\n\ncontract C { function f(uint x) public pure { assert(x > 0); } }" } }, "settings": { "modelChecker": { + "engine": "all", "timeout": "asd" } }