solidity/test/formal
2021-08-19 12:51:54 +02:00
..
byte_big.py Fix implementation of BYTE 2021-08-09 19:14:14 +02:00
byte_equivalence.py An equivalence check for the Byte opcode 2021-08-10 11:00:29 +02:00
checked_int_add.py
checked_int_div.py
checked_int_mul_16.py
checked_int_sub.py
checked_uint_add.py
checked_uint_mul_16.py
checked_uint_sub.py
combine_byte_shl.py Optimize combination of byte and shl. 2020-07-08 20:26:46 +02:00
combine_byte_shr_1.py Optimize combination of byte and shl. 2020-07-08 20:26:46 +02:00
combine_byte_shr_2.py Optimize byte-after-shr for shift amounts that are not multiples of 8. 2020-08-04 12:16:23 +02:00
combine_div_shl_one_32.py
combine_mul_shl_one_64.py
combine_shl_shr_by_constant_64.py
combine_shr_shl_by_constant_64.py
eq_sub.py Optimize iszero(sub(x, y)) to eq(x, y). 2020-12-22 15:11:48 +01:00
exp_neg_one.py Optimize exp when base is -1 2020-09-29 17:44:09 +02:00
exp_to_shl.py Verify simplification rule exp(2, X) to shl(X, 1) 2020-09-16 17:36:39 +02:00
move_and_across_shl_128.py
move_and_across_shr_128.py
move_and_inside_or.py Move AND with constant inside OR. 2021-03-09 15:26:19 +01:00
opcodes.py Formalization of SIGNEXTEND and rule proofs 2021-08-16 18:54:33 +02:00
README.md
repeated_and.py Add optimizer rules for repeated and 2020-04-22 10:20:59 +02:00
repeated_or.py Add optimizer rules for repeated and 2020-04-22 10:20:59 +02:00
replace_mul_by_shift.py Proof. 2021-03-18 08:42:49 +01:00
rule.py
shl_workaround_8.py
signextend_and.py Formalization of SIGNEXTEND and rule proofs 2021-08-16 18:54:33 +02:00
signextend_equivalence.py An equivalence check for SIGNEXTEND opcode 2021-08-16 18:54:33 +02:00
signextend_shl.py Formalization of SIGNEXTEND and rule proofs 2021-08-16 18:54:33 +02:00
signextend_shr.py Formalization of SIGNEXTEND and rule proofs 2021-08-16 18:54:33 +02:00
signextend.py Formalization of SIGNEXTEND and rule proofs 2021-08-16 18:54:33 +02:00
sub_not_zero_x_to_not_x_256.py
sub_sub.py Proof for rules. 2021-08-19 12:51:54 +02:00
util.py

The Solidity compiler implements several optimization rules.

This directory contains an effort to formally prove the correctness of those rules in: