nishant-sachdeva
|
efbd3666a7
|
added optimization. shl comes out from being distributed over and
|
2022-11-11 01:16:14 +05:30 |
|
Matheus Aguiar
|
2282ea5e56
|
Added overflow checks after multiplication operation is executed.
|
2022-08-12 10:18:05 -03:00 |
|
Matheus Aguiar
|
4fd5c11af7
|
Checks for overflow/underflow after add/sub operations.
|
2022-06-23 14:41:12 -03:00 |
|
Daniel Kirchner
|
d1e382f2a8
|
Python Z3 proofs of the rules.
|
2022-06-22 09:26:09 +02:00 |
|
chriseth
|
4f02be110c
|
Unused store eliminator.
|
2022-03-10 18:25:28 +01:00 |
|
Kamil Śliwak
|
784ae91b41
|
pylint: Enable and fix no-self-use warnings
|
2021-12-21 15:30:11 +01:00 |
|
Kamil Śliwak
|
4ed86edbc4
|
test/formal: Get rid of wildcard imports
|
2021-10-13 16:20:10 +02:00 |
|
Kamil Śliwak
|
b96de320e2
|
Fix the simplest pylint warnings (variables/imports, semicolons, etc) and re-enable them in pylintrc
|
2021-10-13 16:19:16 +02:00 |
|
chriseth
|
c6473ff32b
|
Proof for rules.
|
2021-08-19 12:51:54 +02:00 |
|
hrkrshnn
|
59db0f1537
|
An equivalence check for SIGNEXTEND opcode
Checking the implementation of SIGNEXTEND using Z3's native SignExt and Extract
|
2021-08-16 18:54:33 +02:00 |
|
chriseth
|
5906d25a39
|
Formalization of SIGNEXTEND and rule proofs
|
2021-08-16 18:54:33 +02:00 |
|
hrkrshnn
|
a54addc2cb
|
An equivalence check for the Byte opcode
Checks that the byte opcode (implemented using shift) is equivalent to a
canonical definition of byte using extract.
|
2021-08-10 11:00:29 +02:00 |
|
chriseth
|
f6789de9f8
|
Fix implementation of BYTE
|
2021-08-09 19:14:14 +02:00 |
|
chriseth
|
baf2ff2a6e
|
Proof.
|
2021-03-18 08:42:49 +01:00 |
|
chriseth
|
40c27ccc22
|
Move AND with constant inside OR.
|
2021-03-09 15:26:19 +01:00 |
|
chriseth
|
d46da8e53c
|
Optimize iszero(sub(x, y)) to eq(x, y).
|
2020-12-22 15:11:48 +01:00 |
|
Harikrishnan Mulackal
|
2b9f040c48
|
Optimize exp when base is -1
|
2020-09-29 17:44:09 +02:00 |
|
Harikrishnan Mulackal
|
64ddf2c699
|
Verify simplification rule exp(2, X) to shl(X, 1)
|
2020-09-16 17:36:39 +02:00 |
|
chriseth
|
a3a9630d8b
|
Optimize byte-after-shr for shift amounts that are not multiples of 8.
|
2020-08-04 12:16:23 +02:00 |
|
chriseth
|
59f4989966
|
Optimize combination of byte and shl.
|
2020-07-08 20:26:46 +02:00 |
|
yoni206
|
4327434d07
|
Adding bit-vector NOT operation to the opcodes.
|
2020-04-28 09:43:31 -07:00 |
|
Leonardo Alt
|
606153ba71
|
Add optimizer rules for repeated and
|
2020-04-22 10:20:59 +02:00 |
|
Daniel Kirchner
|
c71fb76bb2
|
Proofs for the overflow and underflow conditions in checked arithmetic for Sol->Yul code generation.
|
2019-06-20 15:58:10 +02:00 |
|
Leonardo Alt
|
51ba7f5f17
|
Add CI job for optimization proofs
|
2019-06-19 22:29:23 +02:00 |
|
chriseth
|
633510eb04
|
Merge pull request #6935 from ethereum/subMaxValueXNotXRule
Add optimization rule SUB(~0, X) -> NOT(X).
|
2019-06-17 14:42:49 +02:00 |
|
Daniel Kirchner
|
5718072e10
|
Fix comparison opcodes and minor errors in proof scripts.
|
2019-06-14 17:04:50 +02:00 |
|
Daniel Kirchner
|
d3293cf0d0
|
Correctness proof for SUB(NOT(0),X)->NOT(X).
|
2019-06-14 14:08:21 +02:00 |
|
Leonardo Alt
|
5089d4ac28
|
Move optimization proofs repo to Solidity repo
|
2019-06-13 17:11:48 +02:00 |
|