Skip to content

perf(symbolic): simplify storage key constraints#15565

Merged
figtracer merged 1 commit into
masterfrom
fig/symbolic-storage-keys
Jul 4, 2026
Merged

perf(symbolic): simplify storage key constraints#15565
figtracer merged 1 commit into
masterfrom
fig/symbolic-storage-keys

Conversation

@figtracer

@figtracer figtracer commented Jul 3, 2026

Copy link
Copy Markdown
Member

Simplifies symbolic storage-key constraints in two places:

  • compares 64-byte mapping keccak bases as reconstructed key/slot words, preserving nested mapping recursion.
  • folds (x & mask) == x when current path constraints already prove x fits the mask.

Results

Check master this PR delta
symbolic bug suite hyperfine 465.6ms +/- 6.1ms 448.6ms +/- 8.2ms 1.04x faster
bug suite SMT queries 106 100 -5.7%
bug suite solver queries 287 283 -1.4%
bug suite SMT input bytes 84,800 59,375 -30.0%
foundry-bench solady wall 0.357s 0.357s neutral
foundry-bench solady SMT queries 70 63 -10.0%
foundry-bench farcaster wall 0.290s 0.244s -15.9%
foundry-bench farcaster SMT queries 27 9 -66.7%

Angstrom was unchanged on SMT counters and within noise on wall time: 0.472s -> 0.477s.

@figtracer figtracer marked this pull request as ready for review July 3, 2026 22:52

@mattsse mattsse left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@figtracer figtracer merged commit 974ee46 into master Jul 4, 2026
19 checks passed
@figtracer figtracer deleted the fig/symbolic-storage-keys branch July 4, 2026 07:27
@github-project-automation github-project-automation Bot moved this to Done in Foundry Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants