core/vm: switch modexp gas computation to uint64 (#32527)
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run

supersedes https://github.com/ethereum/go-ethereum/pull/32508/files
and builts on top of https://github.com/ethereum/go-ethereum/pull/32184

looks like a ~60% decrease in allocations / op and ~20% speed increase
(very variable, between 2-200%)

```
goos: linux
goarch: amd64
pkg: github.com/ethereum/go-ethereum/core/vm
cpu: Intel(R) Core(TM) Ultra 7 155U
                                                             │ /tmp/old.txt  │             /tmp/new.txt             │
                                                             │    sec/op     │    sec/op     vs base                │
PrecompiledModExp/eip_example1-Gas=13056-14                     23.70µ ±  3%   22.31µ ±  6%   -5.89% (p=0.004 n=10)
PrecompiledModExp/eip_example2-Gas=13056-14                     566.2n ± 12%   267.0n ±  3%  -52.85% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-square-Gas=204-14                 1285.5n ±  3%   995.8n ±  3%  -22.54% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-qube-Gas=204-14                    1.757µ ± 30%   1.410µ ± 16%  -19.75% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-pow0x10001-Gas=3276-14             8.897µ ± 14%   6.664µ ±  2%  -25.10% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-square-Gas=665-14                  2.107µ ±  8%   1.470µ ± 11%  -30.24% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-qube-Gas=665-14                    3.142µ ±  3%   2.289µ ±  7%  -27.16% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-pow0x10001-Gas=10649-14            14.76µ ±  3%   13.59µ ±  4%   -7.94% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-square-Gas=1894-14                 3.984µ ±  3%   3.211µ ±  3%  -19.42% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-qube-Gas=1894-14                   7.572µ ± 12%   6.153µ ±  3%  -18.74% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-pow0x10001-Gas=30310-14            39.07µ ±  7%   37.76µ ±  5%        ~ (p=0.123 n=10)
PrecompiledModExp/nagydani-4-square-Gas=5580-14                 9.613µ ±  2%   9.221µ ±  2%   -4.08% (p=0.003 n=10)
PrecompiledModExp/nagydani-4-qube-Gas=5580-14                   21.66µ ±  5%   21.48µ ± 17%        ~ (p=0.971 n=10)
PrecompiledModExp/nagydani-4-pow0x10001-Gas=89292-14            120.7µ ±  8%   116.0µ ±  3%   -3.93% (p=0.043 n=10)
PrecompiledModExp/nagydani-5-square-Gas=17868-14                23.93µ ±  3%   24.82µ ±  3%   +3.73% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-qube-Gas=17868-14                  54.98µ ±  1%   58.08µ ±  4%   +5.64% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-pow0x10001-Gas=285900-14           340.3µ ±  2%   341.2µ ±  3%        ~ (p=0.529 n=10)
PrecompiledModExpEip2565/eip_example1-Gas=1360-14               21.99µ ±  3%   21.24µ ±  2%   -3.43% (p=0.000 n=10)
PrecompiledModExpEip2565/eip_example2-Gas=1360-14               568.1n ± 12%   221.1n ±  2%  -61.07% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-square-Gas=200-14          1272.0n ±  2%   822.3n ± 13%  -35.35% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-qube-Gas=200-14             1.633µ ±  3%   1.397µ ± 21%  -14.45% (p=0.023 n=10)
PrecompiledModExpEip2565/nagydani-1-pow0x10001-Gas=341-14       7.276µ ±  3%   6.703µ ±  5%   -7.88% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-square-Gas=200-14           1.959µ ±  3%   1.618µ ±  2%  -17.43% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-qube-Gas=200-14             2.959µ ±  6%   2.611µ ±  5%  -11.78% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-pow0x10001-Gas=1365-14      14.99µ ±  5%   13.76µ ±  4%   -8.17% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-square-Gas=341-14           3.870µ ±  4%   3.521µ ±  2%   -9.04% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-qube-Gas=341-14             6.871µ ±  3%   6.454µ ±  3%   -6.07% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-pow0x10001-Gas=5461-14      40.18µ ±  7%   35.55µ ±  3%  -11.52% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-square-Gas=1365-14          9.694µ ±  3%   8.427µ ±  3%  -13.08% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-qube-Gas=1365-14            21.45µ ±  2%   19.48µ ±  7%   -9.18% (p=0.001 n=10)
PrecompiledModExpEip2565/nagydani-4-pow0x10001-Gas=21845-14     118.1µ ±  2%   113.7µ ±  2%   -3.76% (p=0.003 n=10)
PrecompiledModExpEip2565/nagydani-5-square-Gas=5461-14          25.80µ ±  5%   24.05µ ±  3%   -6.76% (p=0.001 n=10)
PrecompiledModExpEip2565/nagydani-5-qube-Gas=5461-14            57.28µ ±  8%   55.76µ ±  6%        ~ (p=0.796 n=10)
PrecompiledModExpEip2565/nagydani-5-pow0x10001-Gas=87381-14     335.2µ ±  2%   346.2µ ±  3%   +3.28% (p=0.000 n=10)
PrecompiledModExpEip2565/marius-1-even-Gas=2057-14              56.24µ ±  3%   55.53µ ±  1%        ~ (p=0.280 n=10)
PrecompiledModExpEip2565/guido-1-even-Gas=2298-14               38.74µ ±  3%   38.63µ ±  6%        ~ (p=0.631 n=10)
PrecompiledModExpEip2565/guido-2-even-Gas=2300-14               61.94µ ±  2%   61.38µ ± 11%        ~ (p=0.529 n=10)
PrecompiledModExpEip2565/guido-3-even-Gas=5400-14               20.27µ ±  2%   20.19µ ±  5%        ~ (p=0.853 n=10)
PrecompiledModExpEip2565/guido-4-even-Gas=1026-14               805.8n ±  3%   359.1n ±  2%  -55.44% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-base-heavy-Gas=200-14         4.717µ ±  5%   3.925µ ±  5%  -16.79% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-exp-heavy-Gas=215-14          15.51µ ±  3%   14.77µ ±  2%   -4.76% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-balanced-Gas=200-14           10.42µ ±  2%   10.01µ ±  5%   -3.94% (p=0.011 n=10)
PrecompiledModExpEip2565/marcin-2-base-heavy-Gas=867-14         15.99µ ±  4%   15.65µ ±  4%        ~ (p=0.190 n=10)
PrecompiledModExpEip2565/marcin-2-exp-heavy-Gas=852-14          24.45µ ±  2%   23.36µ ±  3%   -4.47% (p=0.002 n=10)
PrecompiledModExpEip2565/marcin-2-balanced-Gas=996-14           34.59µ ± 29%   32.90µ ±  1%   -4.90% (p=0.001 n=10)
PrecompiledModExpEip2565/marcin-3-base-heavy-Gas=677-14         12.45µ ±  2%   12.00µ ± 16%        ~ (p=0.105 n=10)
PrecompiledModExpEip2565/marcin-3-exp-heavy-Gas=765-14          16.21µ ±  3%   15.58µ ±  6%        ~ (p=0.063 n=10)
PrecompiledModExpEip2565/marcin-3-balanced-Gas=1360-14          23.03µ ±  3%   21.34µ ±  2%   -7.35% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-648-Gas=215-14               17.44µ ±  3%   16.03µ ±  1%   -8.07% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-896-Gas=298-14               21.00µ ±  5%   19.52µ ±  2%   -7.04% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-32-Gas=200-14               9.549µ ±  2%   9.322µ ±  2%   -2.38% (p=0.005 n=10)
PrecompiledModExpEip2565/mod-32-exp-36-Gas=200-14               10.74µ ±  1%   10.31µ ±  2%   -4.06% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-40-Gas=208-14               11.95µ ±  2%   11.43µ ±  2%   -4.33% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-64-Gas=336-14               18.77µ ±  3%   18.10µ ±  2%   -3.54% (p=0.002 n=10)
PrecompiledModExpEip2565/mod-32-exp-65-Gas=341-14               13.58µ ±  1%   13.47µ ±  1%        ~ (p=0.280 n=10)
PrecompiledModExpEip2565/mod-32-exp-128-Gas=677-14              13.61µ ±  3%   13.36µ ±  1%   -1.83% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-256-exp-2-Gas=341-14               6.984µ ±  2%   6.053µ ±  3%  -13.33% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-264-exp-2-Gas=363-14               7.126µ ±  5%   6.344µ ±  7%  -10.97% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-1024-exp-2-Gas=5461-14             52.41µ ± 22%   49.85µ ±  4%        ~ (p=0.089 n=10)
PrecompiledModExpEip2565/pawel-1-exp-heavy-Gas=298-14           20.93µ ± 32%   20.15µ ±  2%   -3.69% (p=0.001 n=10)
PrecompiledModExpEip2565/pawel-2-exp-heavy-Gas=425-14           19.32µ ± 17%   14.46µ ±  4%  -25.16% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-3-exp-heavy-Gas=501-14           20.22µ ± 15%   14.30µ ±  3%  -29.27% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-4-exp-heavy-Gas=506-14           14.33µ ±  3%   13.93µ ±  2%   -2.80% (p=0.001 n=10)
PrecompiledModExpEip2565/mod_vul_pawel_3_exp_8-Gas=200-14       24.30µ ± 16%   16.94µ ± 18%  -30.30% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-square-Gas=500-14          1477.5n ±  5%   872.8n ±  9%  -40.93% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-qube-Gas=500-14             2.099µ ±  8%   1.131µ ±  2%  -46.13% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-pow0x10001-Gas=2048-14      8.920µ ±  4%   6.356µ ±  2%  -28.74% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-square-Gas=512-14           2.227µ ±  4%   1.396µ ±  2%  -37.34% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-qube-Gas=512-14             3.507µ ±  8%   2.421µ ± 13%  -30.97% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-pow0x10001-Gas=8192-14      17.53µ ±  4%   14.17µ ±  5%  -19.20% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-square-Gas=2048-14          4.801µ ± 12%   3.498µ ±  3%  -27.15% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-qube-Gas=2048-14            8.284µ ±  4%   6.536µ ±  2%  -21.10% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-pow0x10001-Gas=32768-14     44.82µ ±  6%   37.01µ ± 24%  -17.43% (p=0.007 n=10)
PrecompiledModExpEip7883/nagydani-4-square-Gas=8192-14         11.742µ ±  4%   9.000µ ±  4%  -23.35% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-qube-Gas=8192-14            27.49µ ± 10%   21.34µ ±  5%  -22.35% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-pow0x10001-Gas=131072-14    141.4µ ± 11%   113.4µ ±  3%  -19.80% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-square-Gas=32768-14         31.46µ ±  5%   23.53µ ±  1%  -25.21% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-qube-Gas=32768-14           78.12µ ± 20%   53.74µ ±  4%  -31.20% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-pow0x10001-Gas=524288-14    446.3µ ±  6%   338.5µ ±  2%  -24.15% (p=0.000 n=10)
PrecompiledModExpEip7883/marius-1-even-Gas=45296-14             71.25µ ±  4%   55.33µ ±  1%  -22.34% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-1-even-Gas=51136-14              51.06µ ± 14%   38.19µ ±  3%  -25.20% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-2-even-Gas=51152-14              86.12µ ± 20%   60.65µ ±  2%  -29.57% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-3-even-Gas=32400-14              27.53µ ± 32%   20.37µ ±  2%  -26.02% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-4-even-Gas=94448-14              950.4n ±  5%   354.8n ± 28%  -62.67% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-base-heavy-Gas=1152-14        5.619µ ±  7%   4.440µ ±  5%  -20.98% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-exp-heavy-Gas=16624-14        19.03µ ± 19%   15.67µ ± 22%  -17.63% (p=0.003 n=10)
PrecompiledModExpEip7883/marcin-1-balanced-Gas=1200-14          13.83µ ± 19%   10.91µ ± 10%  -21.16% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-base-heavy-Gas=5202-14        23.69µ ±  9%   17.79µ ± 13%  -24.91% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-exp-heavy-Gas=16368-14        38.86µ ± 12%   25.69µ ± 14%  -33.89% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-balanced-Gas=5978-14          51.47µ ± 28%   33.67µ ± 15%  -34.58% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-base-heavy-Gas=2032-14        16.69µ ± 17%   12.08µ ±  2%  -27.60% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-exp-heavy-Gas=4080-14         19.75µ ±  5%   16.13µ ± 11%  -18.36% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-balanced-Gas=4080-14          28.66µ ±  9%   22.47µ ±  4%  -21.59% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-648-Gas=16624-14             20.78µ ± 14%   16.38µ ±  2%  -21.17% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-896-Gas=24560-14             24.35µ ± 10%   19.62µ ±  1%  -19.43% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-32-Gas=500-14              10.312µ ±  4%   9.293µ ±  3%   -9.88% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-36-Gas=560-14               11.69µ ± 18%   10.37µ ±  3%  -11.27% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-40-Gas=624-14               14.17µ ± 24%   11.60µ ±  6%  -18.13% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-64-Gas=1008-14              22.03µ ±  8%   18.22µ ±  2%  -17.28% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-65-Gas=1024-14              16.48µ ± 11%   13.34µ ±  1%  -19.04% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-128-Gas=2032-14             17.03µ ±  9%   13.44µ ±  1%  -21.03% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-256-exp-2-Gas=2048-14              8.123µ ± 14%   5.962µ ±  3%  -26.61% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-264-exp-2-Gas=2178-14              8.155µ ± 28%   6.799µ ±  4%  -16.64% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-1024-exp-2-Gas=32768-14            62.32µ ±  4%   49.82µ ±  1%  -20.06% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-1-exp-heavy-Gas=24560-14         26.90µ ±  7%   20.30µ ±  2%  -24.55% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-2-exp-heavy-Gas=6128-14          17.67µ ±  2%   15.61µ ± 11%  -11.66% (p=0.001 n=10)
PrecompiledModExpEip7883/pawel-3-exp-heavy-Gas=2672-14          17.50µ ±  3%   14.88µ ±  8%  -14.98% (p=0.002 n=10)
PrecompiledModExpEip7883/pawel-4-exp-heavy-Gas=1520-14          17.32µ ±  2%   14.14µ ±  5%  -18.39% (p=0.000 n=10)
PrecompiledModExpEip7883/mod_vul_pawel_3_exp_8-Gas=1008-14      21.68µ ± 24%   17.07µ ±  3%  -21.25% (p=0.000 n=10)
geomean                                                         14.64µ         12.02µ        -17.89%

                                                             │ /tmp/old.txt │             /tmp/new.txt             │
                                                             │    gas/op    │   gas/op     vs base                 │
PrecompiledModExp/eip_example1-Gas=13056-14                     13.06k ± 0%   13.06k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/eip_example2-Gas=13056-14                     13.06k ± 0%   13.06k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-1-square-Gas=204-14                   204.0 ± 0%    204.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-1-qube-Gas=204-14                     204.0 ± 0%    204.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-1-pow0x10001-Gas=3276-14             3.276k ± 0%   3.276k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-2-square-Gas=665-14                   665.0 ± 0%    665.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-2-qube-Gas=665-14                     665.0 ± 0%    665.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-2-pow0x10001-Gas=10649-14            10.65k ± 0%   10.65k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-3-square-Gas=1894-14                 1.894k ± 0%   1.894k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-3-qube-Gas=1894-14                   1.894k ± 0%   1.894k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-3-pow0x10001-Gas=30310-14            30.31k ± 0%   30.31k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-4-square-Gas=5580-14                 5.580k ± 0%   5.580k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-4-qube-Gas=5580-14                   5.580k ± 0%   5.580k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-4-pow0x10001-Gas=89292-14            89.29k ± 0%   89.29k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-5-square-Gas=17868-14                17.87k ± 0%   17.87k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-5-qube-Gas=17868-14                  17.87k ± 0%   17.87k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExp/nagydani-5-pow0x10001-Gas=285900-14           285.9k ± 0%   285.9k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/eip_example1-Gas=1360-14               1.360k ± 0%   1.360k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/eip_example2-Gas=1360-14               1.360k ± 0%   1.360k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-1-square-Gas=200-14            200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-1-qube-Gas=200-14              200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-1-pow0x10001-Gas=341-14        341.0 ± 0%    341.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-2-square-Gas=200-14            200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-2-qube-Gas=200-14              200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-2-pow0x10001-Gas=1365-14      1.365k ± 0%   1.365k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-3-square-Gas=341-14            341.0 ± 0%    341.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-3-qube-Gas=341-14              341.0 ± 0%    341.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-3-pow0x10001-Gas=5461-14      5.461k ± 0%   5.461k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-4-square-Gas=1365-14          1.365k ± 0%   1.365k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-4-qube-Gas=1365-14            1.365k ± 0%   1.365k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-4-pow0x10001-Gas=21845-14     21.84k ± 0%   21.84k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-5-square-Gas=5461-14          5.461k ± 0%   5.461k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-5-qube-Gas=5461-14            5.461k ± 0%   5.461k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/nagydani-5-pow0x10001-Gas=87381-14     87.38k ± 0%   87.38k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marius-1-even-Gas=2057-14              2.057k ± 0%   2.057k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/guido-1-even-Gas=2298-14               2.298k ± 0%   2.298k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/guido-2-even-Gas=2300-14               2.300k ± 0%   2.300k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/guido-3-even-Gas=5400-14               5.400k ± 0%   5.400k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/guido-4-even-Gas=1026-14               1.026k ± 0%   1.026k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-1-base-heavy-Gas=200-14          200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-1-exp-heavy-Gas=215-14           215.0 ± 0%    215.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-1-balanced-Gas=200-14            200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-2-base-heavy-Gas=867-14          867.0 ± 0%    867.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-2-exp-heavy-Gas=852-14           852.0 ± 0%    852.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-2-balanced-Gas=996-14            996.0 ± 0%    996.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-3-base-heavy-Gas=677-14          677.0 ± 0%    677.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-3-exp-heavy-Gas=765-14           765.0 ± 0%    765.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/marcin-3-balanced-Gas=1360-14          1.360k ± 0%   1.360k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-8-exp-648-Gas=215-14                215.0 ± 0%    215.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-8-exp-896-Gas=298-14                298.0 ± 0%    298.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-32-exp-32-Gas=200-14                200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-32-exp-36-Gas=200-14                200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-32-exp-40-Gas=208-14                208.0 ± 0%    208.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-32-exp-64-Gas=336-14                336.0 ± 0%    336.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-32-exp-65-Gas=341-14                341.0 ± 0%    341.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-32-exp-128-Gas=677-14               677.0 ± 0%    677.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-256-exp-2-Gas=341-14                341.0 ± 0%    341.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-264-exp-2-Gas=363-14                363.0 ± 0%    363.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod-1024-exp-2-Gas=5461-14             5.461k ± 0%   5.461k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/pawel-1-exp-heavy-Gas=298-14            298.0 ± 0%    298.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/pawel-2-exp-heavy-Gas=425-14            425.0 ± 0%    425.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/pawel-3-exp-heavy-Gas=501-14            501.0 ± 0%    501.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/pawel-4-exp-heavy-Gas=506-14            506.0 ± 0%    506.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip2565/mod_vul_pawel_3_exp_8-Gas=200-14        200.0 ± 0%    200.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-1-square-Gas=500-14            500.0 ± 0%    500.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-1-qube-Gas=500-14              500.0 ± 0%    500.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-1-pow0x10001-Gas=2048-14      2.048k ± 0%   2.048k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-2-square-Gas=512-14            512.0 ± 0%    512.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-2-qube-Gas=512-14              512.0 ± 0%    512.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-2-pow0x10001-Gas=8192-14      8.192k ± 0%   8.192k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-3-square-Gas=2048-14          2.048k ± 0%   2.048k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-3-qube-Gas=2048-14            2.048k ± 0%   2.048k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-3-pow0x10001-Gas=32768-14     32.77k ± 0%   32.77k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-4-square-Gas=8192-14          8.192k ± 0%   8.192k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-4-qube-Gas=8192-14            8.192k ± 0%   8.192k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-4-pow0x10001-Gas=131072-14    131.1k ± 0%   131.1k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-5-square-Gas=32768-14         32.77k ± 0%   32.77k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-5-qube-Gas=32768-14           32.77k ± 0%   32.77k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/nagydani-5-pow0x10001-Gas=524288-14    524.3k ± 0%   524.3k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marius-1-even-Gas=45296-14             45.30k ± 0%   45.30k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/guido-1-even-Gas=51136-14              51.14k ± 0%   51.14k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/guido-2-even-Gas=51152-14              51.15k ± 0%   51.15k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/guido-3-even-Gas=32400-14              32.40k ± 0%   32.40k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/guido-4-even-Gas=94448-14              94.45k ± 0%   94.45k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-1-base-heavy-Gas=1152-14        1.152k ± 0%   1.152k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-1-exp-heavy-Gas=16624-14        16.62k ± 0%   16.62k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-1-balanced-Gas=1200-14          1.200k ± 0%   1.200k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-2-base-heavy-Gas=5202-14        5.202k ± 0%   5.202k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-2-exp-heavy-Gas=16368-14        16.37k ± 0%   16.37k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-2-balanced-Gas=5978-14          5.978k ± 0%   5.978k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-3-base-heavy-Gas=2032-14        2.032k ± 0%   2.032k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-3-exp-heavy-Gas=4080-14         4.080k ± 0%   4.080k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/marcin-3-balanced-Gas=4080-14          4.080k ± 0%   4.080k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-8-exp-648-Gas=16624-14             16.62k ± 0%   16.62k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-8-exp-896-Gas=24560-14             24.56k ± 0%   24.56k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-32-exp-32-Gas=500-14                500.0 ± 0%    500.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-32-exp-36-Gas=560-14                560.0 ± 0%    560.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-32-exp-40-Gas=624-14                624.0 ± 0%    624.0 ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-32-exp-64-Gas=1008-14              1.008k ± 0%   1.008k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-32-exp-65-Gas=1024-14              1.024k ± 0%   1.024k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-32-exp-128-Gas=2032-14             2.032k ± 0%   2.032k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-256-exp-2-Gas=2048-14              2.048k ± 0%   2.048k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-264-exp-2-Gas=2178-14              2.178k ± 0%   2.178k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod-1024-exp-2-Gas=32768-14            32.77k ± 0%   32.77k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/pawel-1-exp-heavy-Gas=24560-14         24.56k ± 0%   24.56k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/pawel-2-exp-heavy-Gas=6128-14          6.128k ± 0%   6.128k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/pawel-3-exp-heavy-Gas=2672-14          2.672k ± 0%   2.672k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/pawel-4-exp-heavy-Gas=1520-14          1.520k ± 0%   1.520k ± 0%       ~ (p=1.000 n=10) ¹
PrecompiledModExpEip7883/mod_vul_pawel_3_exp_8-Gas=1008-14      1.008k ± 0%   1.008k ± 0%       ~ (p=1.000 n=10) ¹
geomean                                                         2.342k        2.342k       +0.00%
¹ all samples are equal

                                                             │ /tmp/old.txt │              /tmp/new.txt              │
                                                             │    mgas/s    │    mgas/s      vs base                 │
PrecompiledModExp/eip_example1-Gas=13056-14                     550.8 ±  4%     585.3 ±  5%    +6.26% (p=0.004 n=10)
PrecompiledModExp/eip_example2-Gas=13056-14                    23.06k ± 11%    48.91k ±  3%  +112.09% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-square-Gas=204-14                  158.7 ±  3%     204.8 ±  3%   +29.08% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-qube-Gas=204-14                    116.3 ± 23%     144.6 ± 14%   +24.33% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-pow0x10001-Gas=3276-14             368.3 ± 16%     491.5 ±  2%   +33.45% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-square-Gas=665-14                  315.7 ±  7%     452.9 ± 10%   +43.47% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-qube-Gas=665-14                    211.6 ±  3%     290.6 ±  7%   +37.28% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-pow0x10001-Gas=10649-14            721.6 ±  3%     783.8 ±  4%    +8.62% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-square-Gas=1894-14                 475.4 ±  3%     590.0 ±  3%   +24.10% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-qube-Gas=1894-14                   250.1 ± 11%     307.8 ±  3%   +23.05% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-pow0x10001-Gas=30310-14            776.1 ±  6%     802.7 ±  5%         ~ (p=0.123 n=10)
PrecompiledModExp/nagydani-4-square-Gas=5580-14                 580.5 ±  2%     605.1 ±  2%    +4.25% (p=0.003 n=10)
PrecompiledModExp/nagydani-4-qube-Gas=5580-14                   257.6 ±  5%     259.8 ± 15%         ~ (p=0.971 n=10)
PrecompiledModExp/nagydani-4-pow0x10001-Gas=89292-14            739.7 ±  9%     770.0 ±  3%    +4.09% (p=0.043 n=10)
PrecompiledModExp/nagydani-5-square-Gas=17868-14                746.6 ±  3%     719.8 ±  3%    -3.60% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-qube-Gas=17868-14                  325.0 ±  1%     307.6 ±  4%    -5.35% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-pow0x10001-Gas=285900-14           840.1 ±  2%     838.0 ±  3%         ~ (p=0.529 n=10)
PrecompiledModExpEip2565/eip_example1-Gas=1360-14               61.84 ±  3%     64.03 ±  2%    +3.56% (p=0.000 n=10)
PrecompiledModExpEip2565/eip_example2-Gas=1360-14              2.394k ± 11%    6.150k ±  2%  +156.89% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-square-Gas=200-14           157.2 ±  2%     243.2 ± 11%   +54.66% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-qube-Gas=200-14             122.4 ±  3%     143.2 ± 17%   +16.90% (p=0.023 n=10)
PrecompiledModExpEip2565/nagydani-1-pow0x10001-Gas=341-14       46.86 ±  3%     50.87 ±  4%    +8.55% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-square-Gas=200-14           102.1 ±  3%     123.7 ±  2%   +21.17% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-qube-Gas=200-14             67.59 ±  5%     76.60 ±  5%   +13.34% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-pow0x10001-Gas=1365-14      91.06 ±  5%     99.16 ±  4%    +8.90% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-square-Gas=341-14           88.09 ±  4%     96.86 ±  2%    +9.96% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-qube-Gas=341-14             49.62 ±  3%     52.84 ±  3%    +6.48% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-pow0x10001-Gas=5461-14      136.0 ±  6%     153.6 ±  3%   +12.94% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-square-Gas=1365-14          140.8 ±  3%     161.9 ±  3%   +15.02% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-qube-Gas=1365-14            63.62 ±  2%     70.05 ±  6%   +10.12% (p=0.001 n=10)
PrecompiledModExpEip2565/nagydani-4-pow0x10001-Gas=21845-14     184.9 ±  2%     192.2 ±  2%    +3.92% (p=0.003 n=10)
PrecompiledModExpEip2565/nagydani-5-square-Gas=5461-14          211.7 ±  5%     227.0 ±  3%    +7.25% (p=0.001 n=10)
PrecompiledModExpEip2565/nagydani-5-qube-Gas=5461-14            95.34 ±  9%     97.93 ±  6%         ~ (p=0.796 n=10)
PrecompiledModExpEip2565/nagydani-5-pow0x10001-Gas=87381-14     260.7 ±  2%     252.4 ±  3%    -3.18% (p=0.000 n=10)
PrecompiledModExpEip2565/marius-1-even-Gas=2057-14              36.57 ±  3%     37.03 ±  1%         ~ (p=0.280 n=10)
PrecompiledModExpEip2565/guido-1-even-Gas=2298-14               59.31 ±  3%     59.48 ±  5%         ~ (p=0.631 n=10)
PrecompiledModExpEip2565/guido-2-even-Gas=2300-14               37.13 ±  2%     37.47 ± 10%         ~ (p=0.529 n=10)
PrecompiledModExpEip2565/guido-3-even-Gas=5400-14               266.4 ±  2%     267.5 ±  5%         ~ (p=0.838 n=10)
PrecompiledModExpEip2565/guido-4-even-Gas=1026-14              1.274k ±  3%    2.857k ±  3%  +124.34% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-base-heavy-Gas=200-14         42.39 ±  5%     50.95 ±  5%   +20.18% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-exp-heavy-Gas=215-14          13.86 ±  3%     14.55 ±  2%    +5.02% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-balanced-Gas=200-14           19.19 ±  2%     19.98 ±  5%    +4.09% (p=0.011 n=10)
PrecompiledModExpEip2565/marcin-2-base-heavy-Gas=867-14         54.23 ±  4%     55.39 ±  4%         ~ (p=0.197 n=10)
PrecompiledModExpEip2565/marcin-2-exp-heavy-Gas=852-14          34.84 ±  2%     36.47 ±  2%    +4.68% (p=0.002 n=10)
PrecompiledModExpEip2565/marcin-2-balanced-Gas=996-14           28.79 ± 23%     30.27 ±  1%    +5.16% (p=0.001 n=10)
PrecompiledModExpEip2565/marcin-3-base-heavy-Gas=677-14         54.37 ±  2%     56.42 ± 14%         ~ (p=0.093 n=10)
PrecompiledModExpEip2565/marcin-3-exp-heavy-Gas=765-14          47.19 ±  3%     49.11 ±  6%         ~ (p=0.063 n=10)
PrecompiledModExpEip2565/marcin-3-balanced-Gas=1360-14          59.05 ±  3%     63.73 ±  2%    +7.94% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-648-Gas=215-14               12.32 ±  3%     13.41 ±  1%    +8.81% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-896-Gas=298-14               14.19 ±  5%     15.26 ±  2%    +7.58% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-32-Gas=200-14               20.94 ±  2%     21.45 ±  2%    +2.41% (p=0.005 n=10)
PrecompiledModExpEip2565/mod-32-exp-36-Gas=200-14               18.61 ±  1%     19.40 ±  2%    +4.25% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-40-Gas=208-14               17.40 ±  2%     18.19 ±  2%    +4.54% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-64-Gas=336-14               17.90 ±  3%     18.55 ±  2%    +3.66% (p=0.002 n=10)
PrecompiledModExpEip2565/mod-32-exp-65-Gas=341-14               25.10 ±  1%     25.30 ±  1%         ~ (p=0.306 n=10)
PrecompiledModExpEip2565/mod-32-exp-128-Gas=677-14              49.74 ±  3%     50.66 ±  1%    +1.86% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-256-exp-2-Gas=341-14               48.82 ±  2%     56.33 ±  3%   +15.38% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-264-exp-2-Gas=363-14               50.94 ±  5%     57.22 ±  6%   +12.33% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-1024-exp-2-Gas=5461-14             104.2 ± 18%     109.5 ±  4%         ~ (p=0.085 n=10)
PrecompiledModExpEip2565/pawel-1-exp-heavy-Gas=298-14           14.23 ± 24%     14.78 ±  2%    +3.83% (p=0.001 n=10)
PrecompiledModExpEip2565/pawel-2-exp-heavy-Gas=425-14           22.01 ± 20%     29.39 ±  4%   +33.55% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-3-exp-heavy-Gas=501-14           24.78 ± 17%     35.03 ±  3%   +41.38% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-4-exp-heavy-Gas=506-14           35.30 ±  3%     36.31 ±  2%    +2.88% (p=0.001 n=10)
PrecompiledModExpEip2565/mod_vul_pawel_3_exp_8-Gas=200-14       8.250 ± 14%    11.805 ± 15%   +43.09% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-square-Gas=500-14           338.4 ±  5%     574.2 ±  9%   +69.72% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-qube-Gas=500-14             238.3 ±  7%     442.1 ±  2%   +85.54% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-pow0x10001-Gas=2048-14      229.6 ±  4%     322.2 ±  2%   +40.32% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-square-Gas=512-14           229.9 ±  4%     366.8 ±  2%   +59.55% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-qube-Gas=512-14             146.1 ±  7%     211.8 ± 11%   +44.98% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-pow0x10001-Gas=8192-14      467.2 ±  4%     578.3 ±  5%   +23.77% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-square-Gas=2048-14          426.6 ± 11%     585.5 ±  3%   +37.26% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-qube-Gas=2048-14            247.2 ±  4%     313.4 ±  2%   +26.76% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-pow0x10001-Gas=32768-14     731.1 ±  5%     885.5 ± 19%   +21.11% (p=0.007 n=10)
PrecompiledModExpEip7883/nagydani-4-square-Gas=8192-14          697.7 ±  4%     910.3 ±  4%   +30.47% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-qube-Gas=8192-14            298.0 ±  9%     383.8 ±  5%   +28.75% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-pow0x10001-Gas=131072-14    926.6 ± 10%    1155.5 ±  3%   +24.70% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-square-Gas=32768-14        1.042k ±  5%    1.393k ±  1%   +33.64% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-qube-Gas=32768-14           419.5 ± 16%     609.7 ±  4%   +45.33% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-pow0x10001-Gas=524288-14   1.175k ±  5%    1.549k ±  2%   +31.89% (p=0.000 n=10)
PrecompiledModExpEip7883/marius-1-even-Gas=45296-14             635.8 ±  4%     818.6 ±  1%   +28.76% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-1-even-Gas=51136-14             1.002k ± 13%    1.339k ±  3%   +33.66% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-2-even-Gas=51152-14              594.0 ± 17%     843.3 ±  2%   +41.97% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-3-even-Gas=32400-14             1.177k ± 24%    1.591k ±  2%   +35.17% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-4-even-Gas=94448-14             99.37k ±  5%   266.13k ± 22%  +167.81% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-base-heavy-Gas=1152-14        205.0 ±  7%     259.5 ±  5%   +26.56% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-exp-heavy-Gas=16624-14        873.8 ± 16%    1061.0 ± 18%   +21.43% (p=0.003 n=10)
PrecompiledModExpEip7883/marcin-1-balanced-Gas=1200-14          86.77 ± 16%    110.00 ±  9%   +26.77% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-base-heavy-Gas=5202-14        219.6 ±  8%     293.5 ± 12%   +33.67% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-exp-heavy-Gas=16368-14        421.2 ± 14%     637.2 ± 13%   +51.28% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-balanced-Gas=5978-14          116.2 ± 22%     177.6 ± 13%   +52.86% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-base-heavy-Gas=2032-14        121.8 ± 14%     168.1 ±  2%   +38.11% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-exp-heavy-Gas=4080-14         206.6 ±  5%     253.0 ± 10%   +22.49% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-balanced-Gas=4080-14          142.4 ±  8%     181.6 ±  4%   +27.57% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-648-Gas=16624-14             799.9 ± 12%    1014.5 ±  2%   +26.84% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-896-Gas=24560-14            1.009k ±  9%    1.252k ±  1%   +24.05% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-32-Gas=500-14               48.48 ±  4%     53.80 ±  3%   +10.96% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-36-Gas=560-14               47.91 ± 15%     53.99 ±  3%   +12.70% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-40-Gas=624-14               44.05 ± 19%     53.80 ±  6%   +22.12% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-64-Gas=1008-14              45.75 ±  8%     55.31 ±  2%   +20.90% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-65-Gas=1024-14              62.24 ± 12%     76.77 ±  1%   +23.34% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-128-Gas=2032-14             119.3 ±  8%     151.1 ±  1%   +26.66% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-256-exp-2-Gas=2048-14              252.2 ± 12%     343.6 ±  3%   +36.25% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-264-exp-2-Gas=2178-14              267.1 ± 22%     320.4 ±  5%   +19.91% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-1024-exp-2-Gas=32768-14            525.9 ±  3%     657.7 ±  1%   +25.07% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-1-exp-heavy-Gas=24560-14         913.0 ±  7%    1210.0 ±  1%   +32.52% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-2-exp-heavy-Gas=6128-14          346.8 ±  2%     392.7 ± 10%   +13.24% (p=0.001 n=10)
PrecompiledModExpEip7883/pawel-3-exp-heavy-Gas=2672-14          152.7 ±  3%     179.7 ±  8%   +17.65% (p=0.002 n=10)
PrecompiledModExpEip7883/pawel-4-exp-heavy-Gas=1520-14          87.73 ±  2%    107.55 ±  4%   +22.59% (p=0.000 n=10)
PrecompiledModExpEip7883/mod_vul_pawel_3_exp_8-Gas=1008-14      46.50 ± 20%     59.03 ±  3%   +26.97% (p=0.000 n=10)
geomean                                                         159.9           194.8         +21.79%

                                                             │ /tmp/old.txt │             /tmp/new.txt             │
                                                             │     B/op     │     B/op      vs base                │
PrecompiledModExp/eip_example1-Gas=13056-14                    2.595Ki ± 0%   2.282Ki ± 0%  -12.04% (p=0.000 n=10)
PrecompiledModExp/eip_example2-Gas=13056-14                      672.0 ± 0%     352.0 ± 0%  -47.62% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-square-Gas=204-14                  1160.0 ± 0%     888.0 ± 0%  -23.45% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-qube-Gas=204-14                   1.414Ki ± 0%   1.148Ki ± 0%  -18.78% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-pow0x10001-Gas=3276-14            1.898Ki ± 0%   1.633Ki ± 0%  -13.99% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-square-Gas=665-14                 1.789Ki ± 0%   1.383Ki ± 0%  -22.71% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-qube-Gas=665-14                   2.321Ki ± 0%   1.915Ki ± 0%  -17.50% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-pow0x10001-Gas=10649-14           3.196Ki ± 0%   2.790Ki ± 0%  -12.71% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-square-Gas=1894-14                2.821Ki ± 0%   2.415Ki ± 0%  -14.40% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-qube-Gas=1894-14                  4.010Ki ± 0%   3.604Ki ± 0%  -10.13% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-pow0x10001-Gas=30310-14           5.698Ki ± 0%   5.292Ki ± 0%   -7.13% (p=0.000 n=10)
PrecompiledModExp/nagydani-4-square-Gas=5580-14                5.042Ki ± 0%   4.636Ki ± 0%   -8.06% (p=0.000 n=10)
PrecompiledModExp/nagydani-4-qube-Gas=5580-14                  11.93Ki ± 0%   11.52Ki ± 0%   -3.42% (p=0.000 n=10)
PrecompiledModExp/nagydani-4-pow0x10001-Gas=89292-14           15.30Ki ± 0%   14.89Ki ± 0%   -2.66% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-square-Gas=17868-14               9.616Ki ± 0%   9.208Ki ± 0%   -4.24% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-qube-Gas=17868-14                 23.26Ki ± 0%   22.85Ki ± 0%   -1.77% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-pow0x10001-Gas=285900-14          31.90Ki ± 0%   31.49Ki ± 0%   -1.29% (p=0.000 n=10)
PrecompiledModExpEip2565/eip_example1-Gas=1360-14              2.595Ki ± 0%   2.282Ki ± 0%  -12.04% (p=0.000 n=10)
PrecompiledModExpEip2565/eip_example2-Gas=1360-14                672.0 ± 0%     352.0 ± 0%  -47.62% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-square-Gas=200-14           1160.0 ± 0%     888.0 ± 0%  -23.45% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-qube-Gas=200-14            1.414Ki ± 0%   1.148Ki ± 0%  -18.78% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-pow0x10001-Gas=341-14      1.898Ki ± 0%   1.633Ki ± 0%  -13.99% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-square-Gas=200-14          1.648Ki ± 0%   1.383Ki ± 0%  -16.11% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-qube-Gas=200-14            2.181Ki ± 0%   1.914Ki ± 0%  -12.23% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-pow0x10001-Gas=1365-14     3.056Ki ± 0%   2.790Ki ± 0%   -8.69% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-square-Gas=341-14          2.681Ki ± 0%   2.415Ki ± 0%   -9.91% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-qube-Gas=341-14            3.869Ki ± 0%   3.604Ki ± 0%   -6.87% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-pow0x10001-Gas=5461-14     5.558Ki ± 0%   5.292Ki ± 0%   -4.78% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-square-Gas=1365-14         4.901Ki ± 0%   4.636Ki ± 0%   -5.42% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-qube-Gas=1365-14           11.78Ki ± 0%   11.52Ki ± 0%   -2.25% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-pow0x10001-Gas=21845-14    15.16Ki ± 0%   14.89Ki ± 0%   -1.76% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-5-square-Gas=5461-14         9.475Ki ± 0%   9.209Ki ± 0%   -2.80% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-5-qube-Gas=5461-14           23.12Ki ± 0%   22.85Ki ± 0%   -1.15% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-5-pow0x10001-Gas=87381-14    31.75Ki ± 0%   31.49Ki ± 0%   -0.83% (p=0.000 n=10)
PrecompiledModExpEip2565/marius-1-even-Gas=2057-14             2.501Ki ± 0%   2.134Ki ± 0%  -14.68% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-1-even-Gas=2298-14              2.470Ki ± 0%   2.103Ki ± 0%  -14.87% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-2-even-Gas=2300-14              2.587Ki ± 0%   2.228Ki ± 0%  -13.89% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-3-even-Gas=5400-14              8.271Ki ± 0%   8.014Ki ± 0%   -3.12% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-4-even-Gas=1026-14               1056.0 ± 0%     680.0 ± 0%  -35.61% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-base-heavy-Gas=200-14        2.954Ki ± 0%   2.696Ki ± 0%   -8.73% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-exp-heavy-Gas=215-14         1.641Ki ± 0%   1.273Ki ± 0%  -22.38% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-balanced-Gas=200-14          1.266Ki ± 0%   1.008Ki ± 0%  -20.37% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-2-base-heavy-Gas=867-14        9.555Ki ± 0%   9.296Ki ± 0%   -2.71% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-2-exp-heavy-Gas=852-14         2.047Ki ± 0%   1.688Ki ± 0%  -17.56% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-2-balanced-Gas=996-14          1.993Ki ± 0%   1.727Ki ± 0%  -13.38% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-3-base-heavy-Gas=677-14        2.587Ki ± 0%   2.282Ki ± 0%  -11.78% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-3-exp-heavy-Gas=765-14         2.313Ki ± 0%   2.000Ki ± 0%  -13.55% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-3-balanced-Gas=1360-14         2.610Ki ± 0%   2.298Ki ± 0%  -11.97% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-648-Gas=215-14              1.860Ki ± 0%   1.492Ki ± 0%  -19.79% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-896-Gas=298-14              1.876Ki ± 0%   1.508Ki ± 0%  -19.60% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-32-Gas=200-14               1192.0 ± 0%     920.0 ± 0%  -22.82% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-36-Gas=200-14              1.305Ki ± 0%   1.039Ki ± 0%  -20.36% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-40-Gas=208-14               1184.0 ± 0%     920.0 ± 0%  -22.30% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-64-Gas=336-14               1184.0 ± 0%     920.0 ± 0%  -22.30% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-65-Gas=341-14              3.071Ki ± 0%   2.767Ki ± 0%   -9.92% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-128-Gas=677-14             3.071Ki ± 0%   2.767Ki ± 0%   -9.92% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-256-exp-2-Gas=341-14              3.869Ki ± 0%   3.604Ki ± 0%   -6.87% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-264-exp-2-Gas=363-14              3.986Ki ± 0%   3.729Ki ± 0%   -6.47% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-1024-exp-2-Gas=5461-14            24.12Ki ± 0%   23.85Ki ± 0%   -1.10% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-1-exp-heavy-Gas=298-14          1.931Ki ± 0%   1.563Ki ± 0%  -19.02% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-2-exp-heavy-Gas=425-14          2.438Ki ± 0%   2.071Ki ± 0%  -15.06% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-3-exp-heavy-Gas=501-14          2.798Ki ± 0%   2.485Ki ± 0%  -11.17% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-4-exp-heavy-Gas=506-14          3.080Ki ± 0%   2.774Ki ± 0%   -9.92% (p=0.000 n=10)
PrecompiledModExpEip2565/mod_vul_pawel_3_exp_8-Gas=200-14       1064.0 ± 0%     800.0 ± 0%  -24.81% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-square-Gas=500-14           1152.0 ± 0%     888.0 ± 0%  -22.92% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-qube-Gas=500-14            1.406Ki ± 0%   1.148Ki ± 0%  -18.33% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-pow0x10001-Gas=2048-14     1.891Ki ± 0%   1.633Ki ± 0%  -13.64% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-square-Gas=512-14          1.641Ki ± 0%   1.383Ki ± 0%  -15.71% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-qube-Gas=512-14            2.173Ki ± 0%   1.915Ki ± 0%  -11.87% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-pow0x10001-Gas=8192-14     3.048Ki ± 0%   2.790Ki ± 0%   -8.46% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-square-Gas=2048-14         2.673Ki ± 0%   2.415Ki ± 0%   -9.65% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-qube-Gas=2048-14           3.861Ki ± 0%   3.604Ki ± 0%   -6.68% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-pow0x10001-Gas=32768-14    5.550Ki ± 0%   5.292Ki ± 0%   -4.65% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-square-Gas=8192-14         4.894Ki ± 0%   4.636Ki ± 0%   -5.27% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-qube-Gas=8192-14           11.78Ki ± 0%   11.52Ki ± 0%   -2.20% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-pow0x10001-Gas=131072-14   15.15Ki ± 0%   14.89Ki ± 0%   -1.71% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-square-Gas=32768-14        9.468Ki ± 0%   9.208Ki ± 0%   -2.74% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-qube-Gas=32768-14          23.11Ki ± 0%   22.85Ki ± 0%   -1.13% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-pow0x10001-Gas=524288-14   31.75Ki ± 0%   31.49Ki ± 0%   -0.81% (p=0.000 n=10)
PrecompiledModExpEip7883/marius-1-even-Gas=45296-14            2.548Ki ± 0%   2.134Ki ± 0%  -16.25% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-1-even-Gas=51136-14             2.517Ki ± 0%   2.103Ki ± 0%  -16.45% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-2-even-Gas=51152-14             2.642Ki ± 0%   2.228Ki ± 0%  -15.67% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-3-even-Gas=32400-14             8.271Ki ± 0%   8.014Ki ± 0%   -3.12% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-4-even-Gas=94448-14              1104.0 ± 0%     680.0 ± 0%  -38.41% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-base-heavy-Gas=1152-14       2.954Ki ± 0%   2.696Ki ± 0%   -8.73% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-exp-heavy-Gas=16624-14       1.688Ki ± 0%   1.273Ki ± 0%  -24.54% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-balanced-Gas=1200-14         1.266Ki ± 0%   1.008Ki ± 0%  -20.37% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-base-heavy-Gas=5202-14       9.554Ki ± 0%   9.296Ki ± 0%   -2.70% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-exp-heavy-Gas=16368-14       2.102Ki ± 0%   1.688Ki ± 0%  -19.72% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-balanced-Gas=5978-14         1.985Ki ± 0%   1.727Ki ± 0%  -13.03% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-base-heavy-Gas=2032-14       2.634Ki ± 0%   2.282Ki ± 0%  -13.35% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-exp-heavy-Gas=4080-14        2.368Ki ± 0%   2.000Ki ± 0%  -15.55% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-balanced-Gas=4080-14         2.665Ki ± 0%   2.298Ki ± 0%  -13.78% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-648-Gas=16624-14            1.907Ki ± 0%   1.492Ki ± 0%  -21.76% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-896-Gas=24560-14            1.923Ki ± 0%   1.508Ki ± 0%  -21.58% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-32-Gas=500-14               1240.0 ± 0%     920.0 ± 0%  -25.81% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-36-Gas=560-14              1.352Ki ± 0%   1.039Ki ± 0%  -23.12% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-40-Gas=624-14               1240.0 ± 0%     920.0 ± 0%  -25.81% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-64-Gas=1008-14              1240.0 ± 0%     920.0 ± 0%  -25.81% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-65-Gas=1024-14             3.118Ki ± 0%   2.767Ki ± 0%  -11.27% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-128-Gas=2032-14            3.118Ki ± 0%   2.767Ki ± 0%  -11.27% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-256-exp-2-Gas=2048-14             3.861Ki ± 0%   3.604Ki ± 0%   -6.68% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-264-exp-2-Gas=2178-14             3.986Ki ± 0%   3.729Ki ± 0%   -6.47% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-1024-exp-2-Gas=32768-14           24.12Ki ± 0%   23.85Ki ± 0%   -1.09% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-1-exp-heavy-Gas=24560-14        1.978Ki ± 0%   1.562Ki ± 0%  -20.99% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-2-exp-heavy-Gas=6128-14         2.485Ki ± 0%   2.071Ki ± 0%  -16.66% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-3-exp-heavy-Gas=2672-14         2.853Ki ± 0%   2.485Ki ± 0%  -12.87% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-4-exp-heavy-Gas=1520-14         3.127Ki ± 0%   2.774Ki ± 0%  -11.27% (p=0.000 n=10)
PrecompiledModExpEip7883/mod_vul_pawel_3_exp_8-Gas=1008-14      1120.0 ± 0%     800.0 ± 0%  -28.57% (p=0.000 n=10)
geomean                                                        3.164Ki        2.718Ki       -14.08%

                                                             │ /tmp/old.txt │            /tmp/new.txt            │
                                                             │  allocs/op   │ allocs/op   vs base                │
PrecompiledModExp/eip_example1-Gas=13056-14                      37.00 ± 0%   30.00 ± 0%  -18.92% (p=0.000 n=10)
PrecompiledModExp/eip_example2-Gas=13056-14                     13.000 ± 0%   6.000 ± 0%  -53.85% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-square-Gas=204-14                   18.00 ± 0%   10.00 ± 0%  -44.44% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-qube-Gas=204-14                     19.00 ± 0%   11.00 ± 0%  -42.11% (p=0.000 n=10)
PrecompiledModExp/nagydani-1-pow0x10001-Gas=3276-14              22.00 ± 0%   14.00 ± 0%  -36.36% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-square-Gas=665-14                   23.00 ± 0%   10.00 ± 0%  -56.52% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-qube-Gas=665-14                     24.00 ± 0%   11.00 ± 0%  -54.17% (p=0.000 n=10)
PrecompiledModExp/nagydani-2-pow0x10001-Gas=10649-14             27.00 ± 0%   14.00 ± 0%  -48.15% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-square-Gas=1894-14                  23.00 ± 0%   10.00 ± 0%  -56.52% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-qube-Gas=1894-14                    24.00 ± 0%   11.00 ± 0%  -54.17% (p=0.000 n=10)
PrecompiledModExp/nagydani-3-pow0x10001-Gas=30310-14             27.00 ± 0%   14.00 ± 0%  -48.15% (p=0.000 n=10)
PrecompiledModExp/nagydani-4-square-Gas=5580-14                  23.00 ± 0%   10.00 ± 0%  -56.52% (p=0.000 n=10)
PrecompiledModExp/nagydani-4-qube-Gas=5580-14                    25.00 ± 0%   12.00 ± 0%  -52.00% (p=0.000 n=10)
PrecompiledModExp/nagydani-4-pow0x10001-Gas=89292-14             28.00 ± 0%   15.00 ± 0%  -46.43% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-square-Gas=17868-14                 24.00 ± 0%   11.00 ± 0%  -54.17% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-qube-Gas=17868-14                   26.00 ± 0%   13.00 ± 0%  -50.00% (p=0.000 n=10)
PrecompiledModExp/nagydani-5-pow0x10001-Gas=285900-14            44.00 ± 0%   31.00 ± 0%  -29.55% (p=0.000 n=10)
PrecompiledModExpEip2565/eip_example1-Gas=1360-14                37.00 ± 0%   30.00 ± 0%  -18.92% (p=0.000 n=10)
PrecompiledModExpEip2565/eip_example2-Gas=1360-14               13.000 ± 0%   6.000 ± 0%  -53.85% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-square-Gas=200-14            18.00 ± 0%   10.00 ± 0%  -44.44% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-qube-Gas=200-14              19.00 ± 0%   11.00 ± 0%  -42.11% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-1-pow0x10001-Gas=341-14        22.00 ± 0%   14.00 ± 0%  -36.36% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-square-Gas=200-14            18.00 ± 0%   10.00 ± 0%  -44.44% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-qube-Gas=200-14              19.00 ± 0%   11.00 ± 0%  -42.11% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-2-pow0x10001-Gas=1365-14       22.00 ± 0%   14.00 ± 0%  -36.36% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-square-Gas=341-14            18.00 ± 0%   10.00 ± 0%  -44.44% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-qube-Gas=341-14              19.00 ± 0%   11.00 ± 0%  -42.11% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-3-pow0x10001-Gas=5461-14       22.00 ± 0%   14.00 ± 0%  -36.36% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-square-Gas=1365-14           18.00 ± 0%   10.00 ± 0%  -44.44% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-qube-Gas=1365-14             20.00 ± 0%   12.00 ± 0%  -40.00% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-4-pow0x10001-Gas=21845-14      23.00 ± 0%   15.00 ± 0%  -34.78% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-5-square-Gas=5461-14           19.00 ± 0%   11.00 ± 0%  -42.11% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-5-qube-Gas=5461-14             21.00 ± 0%   13.00 ± 0%  -38.10% (p=0.000 n=10)
PrecompiledModExpEip2565/nagydani-5-pow0x10001-Gas=87381-14      39.00 ± 0%   31.00 ± 0%  -20.51% (p=0.000 n=10)
PrecompiledModExpEip2565/marius-1-even-Gas=2057-14               52.00 ± 0%   43.00 ± 0%  -17.31% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-1-even-Gas=2298-14                55.00 ± 0%   46.00 ± 0%  -16.36% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-2-even-Gas=2300-14                52.00 ± 0%   44.00 ± 0%  -15.38% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-3-even-Gas=5400-14                19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip2565/guido-4-even-Gas=1026-14               18.000 ± 0%   9.000 ± 0%  -50.00% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-base-heavy-Gas=200-14          18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-exp-heavy-Gas=215-14           37.00 ± 0%   28.00 ± 0%  -24.32% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-1-balanced-Gas=200-14            19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-2-base-heavy-Gas=867-14          19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-2-exp-heavy-Gas=852-14           36.00 ± 0%   28.00 ± 0%  -22.22% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-2-balanced-Gas=996-14            23.00 ± 0%   15.00 ± 0%  -34.78% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-3-base-heavy-Gas=677-14          36.00 ± 0%   28.00 ± 0%  -22.22% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-3-exp-heavy-Gas=765-14           35.00 ± 0%   28.00 ± 0%  -20.00% (p=0.000 n=10)
PrecompiledModExpEip2565/marcin-3-balanced-Gas=1360-14           35.00 ± 0%   28.00 ± 0%  -20.00% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-648-Gas=215-14                50.00 ± 0%   41.00 ± 0%  -18.00% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-8-exp-896-Gas=298-14                50.00 ± 0%   41.00 ± 0%  -18.00% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-32-Gas=200-14                21.00 ± 0%   13.00 ± 0%  -38.10% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-36-Gas=200-14                22.00 ± 0%   14.00 ± 0%  -36.36% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-40-Gas=208-14                20.00 ± 0%   13.00 ± 0%  -35.00% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-64-Gas=336-14                20.00 ± 0%   13.00 ± 0%  -35.00% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-65-Gas=341-14                52.00 ± 0%   44.00 ± 0%  -15.38% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-32-exp-128-Gas=677-14               52.00 ± 0%   44.00 ± 0%  -15.38% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-256-exp-2-Gas=341-14                19.00 ± 0%   11.00 ± 0%  -42.11% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-264-exp-2-Gas=363-14                18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip2565/mod-1024-exp-2-Gas=5461-14              22.00 ± 0%   14.00 ± 0%  -36.36% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-1-exp-heavy-Gas=298-14            52.00 ± 0%   43.00 ± 0%  -17.31% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-2-exp-heavy-Gas=425-14            54.00 ± 0%   45.00 ± 0%  -16.67% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-3-exp-heavy-Gas=501-14            52.00 ± 0%   45.00 ± 0%  -13.46% (p=0.000 n=10)
PrecompiledModExpEip2565/pawel-4-exp-heavy-Gas=506-14            53.00 ± 0%   45.00 ± 0%  -15.09% (p=0.000 n=10)
PrecompiledModExpEip2565/mod_vul_pawel_3_exp_8-Gas=200-14        19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-square-Gas=500-14            17.00 ± 0%   10.00 ± 0%  -41.18% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-qube-Gas=500-14              18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-1-pow0x10001-Gas=2048-14       21.00 ± 0%   14.00 ± 0%  -33.33% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-square-Gas=512-14            17.00 ± 0%   10.00 ± 0%  -41.18% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-qube-Gas=512-14              18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-2-pow0x10001-Gas=8192-14       21.00 ± 0%   14.00 ± 0%  -33.33% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-square-Gas=2048-14           17.00 ± 0%   10.00 ± 0%  -41.18% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-qube-Gas=2048-14             18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-3-pow0x10001-Gas=32768-14      21.00 ± 0%   14.00 ± 0%  -33.33% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-square-Gas=8192-14           17.00 ± 0%   10.00 ± 0%  -41.18% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-qube-Gas=8192-14             19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-4-pow0x10001-Gas=131072-14     22.00 ± 0%   15.00 ± 0%  -31.82% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-square-Gas=32768-14          18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-qube-Gas=32768-14            20.00 ± 0%   13.00 ± 0%  -35.00% (p=0.000 n=10)
PrecompiledModExpEip7883/nagydani-5-pow0x10001-Gas=524288-14     38.00 ± 0%   31.00 ± 0%  -18.42% (p=0.000 n=10)
PrecompiledModExpEip7883/marius-1-even-Gas=45296-14              53.00 ± 0%   43.00 ± 0%  -18.87% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-1-even-Gas=51136-14               56.00 ± 0%   46.00 ± 0%  -17.86% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-2-even-Gas=51152-14               54.00 ± 0%   44.00 ± 0%  -18.52% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-3-even-Gas=32400-14               19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip7883/guido-4-even-Gas=94448-14              19.000 ± 0%   9.000 ± 0%  -52.63% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-base-heavy-Gas=1152-14         18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-exp-heavy-Gas=16624-14         38.00 ± 0%   28.00 ± 0%  -26.32% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-1-balanced-Gas=1200-14           19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-base-heavy-Gas=5202-14         19.00 ± 0%   12.00 ± 0%  -36.84% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-exp-heavy-Gas=16368-14         38.00 ± 0%   28.00 ± 0%  -26.32% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-2-balanced-Gas=5978-14           22.00 ± 0%   15.00 ± 0%  -31.82% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-base-heavy-Gas=2032-14         37.00 ± 0%   28.00 ± 0%  -24.32% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-exp-heavy-Gas=4080-14          37.00 ± 0%   28.00 ± 0%  -24.32% (p=0.000 n=10)
PrecompiledModExpEip7883/marcin-3-balanced-Gas=4080-14           37.00 ± 0%   28.00 ± 0%  -24.32% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-648-Gas=16624-14              51.00 ± 0%   41.00 ± 0%  -19.61% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-8-exp-896-Gas=24560-14              51.00 ± 0%   41.00 ± 0%  -19.61% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-32-Gas=500-14                22.00 ± 0%   13.00 ± 0%  -40.91% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-36-Gas=560-14                23.00 ± 0%   14.00 ± 0%  -39.13% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-40-Gas=624-14                22.00 ± 0%   13.00 ± 0%  -40.91% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-64-Gas=1008-14               22.00 ± 0%   13.00 ± 0%  -40.91% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-65-Gas=1024-14               53.00 ± 0%   44.00 ± 0%  -16.98% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-32-exp-128-Gas=2032-14              53.00 ± 0%   44.00 ± 0%  -16.98% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-256-exp-2-Gas=2048-14               18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-264-exp-2-Gas=2178-14               18.00 ± 0%   11.00 ± 0%  -38.89% (p=0.000 n=10)
PrecompiledModExpEip7883/mod-1024-exp-2-Gas=32768-14             21.00 ± 0%   14.00 ± 0%  -33.33% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-1-exp-heavy-Gas=24560-14          53.00 ± 0%   43.00 ± 0%  -18.87% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-2-exp-heavy-Gas=6128-14           55.00 ± 0%   45.00 ± 0%  -18.18% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-3-exp-heavy-Gas=2672-14           54.00 ± 0%   45.00 ± 0%  -16.67% (p=0.000 n=10)
PrecompiledModExpEip7883/pawel-4-exp-heavy-Gas=1520-14           54.00 ± 0%   45.00 ± 0%  -16.67% (p=0.000 n=10)
PrecompiledModExpEip7883/mod_vul_pawel_3_exp_8-Gas=1008-14       21.00 ± 0%   12.00 ± 0%  -42.86% (p=0.000 n=10)
geomean                                                          26.59        17.27       -35.03%
```

Co-authored-by: @kevaundray
Co-authored-by: Felix Lange <fjl@twurst.com>
This commit is contained in:
Marius van der Wijden 2025-09-08 13:33:10 +02:00 committed by GitHub
parent d95ca2e056
commit b381804eb1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 613 additions and 110 deletions

View file

@ -24,6 +24,7 @@ import (
"maps"
"math"
"math/big"
"math/bits"
"github.com/consensys/gnark-crypto/ecc"
bls12381 "github.com/consensys/gnark-crypto/ecc/bls12-381"
@ -38,6 +39,7 @@ import (
"github.com/ethereum/go-ethereum/crypto/kzg4844"
"github.com/ethereum/go-ethereum/crypto/secp256r1"
"github.com/ethereum/go-ethereum/params"
"github.com/holiman/uint256"
"golang.org/x/crypto/ripemd160"
)
@ -378,21 +380,7 @@ type bigModExp struct {
eip7883 bool
}
var (
big1 = big.NewInt(1)
big3 = big.NewInt(3)
big7 = big.NewInt(7)
big20 = big.NewInt(20)
big32 = big.NewInt(32)
big64 = big.NewInt(64)
big96 = big.NewInt(96)
big480 = big.NewInt(480)
big1024 = big.NewInt(1024)
big3072 = big.NewInt(3072)
big199680 = big.NewInt(199680)
)
// modexpMultComplexity implements bigModexp multComplexity formula, as defined in EIP-198
// byzantiumMultComplexity implements the bigModexp multComplexity formula, as defined in EIP-198.
//
// def mult_complexity(x):
// if x <= 64: return x ** 2
@ -400,120 +388,215 @@ var (
// else: return x ** 2 // 16 + 480 * x - 199680
//
// where is x is max(length_of_MODULUS, length_of_BASE)
func modexpMultComplexity(x *big.Int) *big.Int {
// returns MaxUint64 if an overflow occurred.
func byzantiumMultComplexity(x uint64) uint64 {
switch {
case x.Cmp(big64) <= 0:
x.Mul(x, x) // x ** 2
case x.Cmp(big1024) <= 0:
// (x ** 2 // 4 ) + ( 96 * x - 3072)
x = new(big.Int).Add(
new(big.Int).Rsh(new(big.Int).Mul(x, x), 2),
new(big.Int).Sub(new(big.Int).Mul(big96, x), big3072),
)
case x <= 64:
return x * x
case x <= 1024:
// x^2 / 4 + 96*x - 3072
return x*x/4 + 96*x - 3072
default:
// (x ** 2 // 16) + (480 * x - 199680)
x = new(big.Int).Add(
new(big.Int).Rsh(new(big.Int).Mul(x, x), 4),
new(big.Int).Sub(new(big.Int).Mul(big480, x), big199680),
)
// For large x, use uint256 arithmetic to avoid overflow
// x^2 / 16 + 480*x - 199680
// xSqr = x^2 / 16
carry, xSqr := bits.Mul64(x, x)
if carry != 0 {
return math.MaxUint64
}
xSqr = xSqr >> 4
// Calculate 480 * x (can't overflow if x^2 didn't overflow)
x480 := x * 480
// Calculate 480 * x - 199680 (will not underflow, since x > 1024)
x480 = x480 - 199680
// xSqr + x480
sum, carry := bits.Add64(xSqr, x480, 0)
if carry != 0 {
return math.MaxUint64
}
return sum
}
}
// berlinMultComplexity implements the multiplication complexity formula for Berlin.
//
// def mult_complexity(x):
//
// ceiling(x/8)^2
//
// where is x is max(length_of_MODULUS, length_of_BASE)
func berlinMultComplexity(x uint64) uint64 {
// x = (x + 7) / 8
x, carry := bits.Add64(x, 7, 0)
if carry != 0 {
return math.MaxUint64
}
x /= 8
// x^2
carry, x = bits.Mul64(x, x)
if carry != 0 {
return math.MaxUint64
}
return x
}
// osakaMultComplexity implements the multiplication complexity formula for Osaka.
//
// For x <= 32: returns 16
// For x > 32: returns 2 * ceiling(x/8)^2
func osakaMultComplexity(x uint64) uint64 {
if x <= 32 {
return 16
}
// For x > 32, return 2 * berlinMultComplexity(x)
result := berlinMultComplexity(x)
carry, result := bits.Mul64(result, 2)
if carry != 0 {
return math.MaxUint64
}
return result
}
// modexpIterationCount calculates the number of iterations for the modexp precompile.
// This is the adjusted exponent length used in gas calculation.
func modexpIterationCount(expLen uint64, expHead uint256.Int, multiplier uint64) uint64 {
var iterationCount uint64
// For large exponents (expLen > 32), add (expLen - 32) * multiplier
if expLen > 32 {
iterationCount = (expLen - 32) * multiplier
}
// Add the MSB position - 1 if expHead is non-zero
if bitLen := expHead.BitLen(); bitLen > 0 {
iterationCount += uint64(bitLen - 1)
}
return max(iterationCount, 1)
}
// byzantiumModexpGas calculates the gas cost for the modexp precompile using Byzantium rules.
func byzantiumModexpGas(baseLen, expLen, modLen uint64, expHead uint256.Int) uint64 {
const (
multiplier = 8
divisor = 20
)
maxLen := max(baseLen, modLen)
multComplexity := byzantiumMultComplexity(maxLen)
if multComplexity == math.MaxUint64 {
return math.MaxUint64
}
iterationCount := modexpIterationCount(expLen, expHead, multiplier)
// Calculate gas: (multComplexity * iterationCount) / divisor
carry, gas := bits.Mul64(iterationCount, multComplexity)
gas /= divisor
if carry != 0 {
return math.MaxUint64
}
return gas
}
// berlinModexpGas calculates the gas cost for the modexp precompile using Berlin rules.
func berlinModexpGas(baseLen, expLen, modLen uint64, expHead uint256.Int) uint64 {
const (
multiplier = 8
divisor = 3
minGas = 200
)
maxLen := max(baseLen, modLen)
multComplexity := berlinMultComplexity(maxLen)
if multComplexity == math.MaxUint64 {
return math.MaxUint64
}
iterationCount := modexpIterationCount(expLen, expHead, multiplier)
// Calculate gas: (multComplexity * iterationCount) / divisor
carry, gas := bits.Mul64(iterationCount, multComplexity)
gas /= divisor
if carry != 0 {
return math.MaxUint64
}
return max(gas, minGas)
}
// osakaModexpGas calculates the gas cost for the modexp precompile using Osaka rules.
func osakaModexpGas(baseLen, expLen, modLen uint64, expHead uint256.Int) uint64 {
const (
multiplier = 16
divisor = 3
minGas = 500
)
maxLen := max(baseLen, modLen)
multComplexity := osakaMultComplexity(maxLen)
if multComplexity == math.MaxUint64 {
return math.MaxUint64
}
iterationCount := modexpIterationCount(expLen, expHead, multiplier)
// Calculate gas: (multComplexity * iterationCount) / osakaDivisor
carry, gas := bits.Mul64(iterationCount, multComplexity)
if carry != 0 {
return math.MaxUint64
}
return max(gas, minGas)
}
// RequiredGas returns the gas required to execute the pre-compiled contract.
func (c *bigModExp) RequiredGas(input []byte) uint64 {
var (
baseLen = new(big.Int).SetBytes(getData(input, 0, 32))
expLen = new(big.Int).SetBytes(getData(input, 32, 32))
modLen = new(big.Int).SetBytes(getData(input, 64, 32))
)
// Parse input lengths
baseLenBig := new(uint256.Int).SetBytes(getData(input, 0, 32))
expLenBig := new(uint256.Int).SetBytes(getData(input, 32, 32))
modLenBig := new(uint256.Int).SetBytes(getData(input, 64, 32))
// Convert to uint64, capping at max value
baseLen := baseLenBig.Uint64()
if !baseLenBig.IsUint64() {
baseLen = math.MaxUint64
}
expLen := expLenBig.Uint64()
if !expLenBig.IsUint64() {
expLen = math.MaxUint64
}
modLen := modLenBig.Uint64()
if !modLenBig.IsUint64() {
modLen = math.MaxUint64
}
// Skip the header
if len(input) > 96 {
input = input[96:]
} else {
input = input[:0]
}
// Retrieve the head 32 bytes of exp for the adjusted exponent length
var expHead *big.Int
if big.NewInt(int64(len(input))).Cmp(baseLen) <= 0 {
expHead = new(big.Int)
} else {
if expLen.Cmp(big32) > 0 {
expHead = new(big.Int).SetBytes(getData(input, baseLen.Uint64(), 32))
var expHead uint256.Int
if uint64(len(input)) > baseLen {
if expLen > 32 {
expHead.SetBytes(getData(input, baseLen, 32))
} else {
expHead = new(big.Int).SetBytes(getData(input, baseLen.Uint64(), expLen.Uint64()))
// TODO: Check that if expLen < baseLen, then getData will return an empty slice
expHead.SetBytes(getData(input, baseLen, expLen))
}
}
// Calculate the adjusted exponent length
var msb int
if bitlen := expHead.BitLen(); bitlen > 0 {
msb = bitlen - 1
}
adjExpLen := new(big.Int)
if expLen.Cmp(big32) > 0 {
adjExpLen.Sub(expLen, big32)
if c.eip7883 {
adjExpLen.Lsh(adjExpLen, 4)
} else {
adjExpLen.Lsh(adjExpLen, 3)
}
}
adjExpLen.Add(adjExpLen, big.NewInt(int64(msb)))
// Calculate the gas cost of the operation
gas := new(big.Int)
if modLen.Cmp(baseLen) < 0 {
gas.Set(baseLen)
// Choose the appropriate gas calculation based on the EIP flags
if c.eip7883 {
return osakaModexpGas(baseLen, expLen, modLen, expHead)
} else if c.eip2565 {
return berlinModexpGas(baseLen, expLen, modLen, expHead)
} else {
gas.Set(modLen)
return byzantiumModexpGas(baseLen, expLen, modLen, expHead)
}
maxLenOver32 := gas.Cmp(big32) > 0
if c.eip2565 {
// EIP-2565 (Berlin fork) has three changes:
//
// 1. Different multComplexity (inlined here)
// in EIP-2565 (https://eips.ethereum.org/EIPS/eip-2565):
//
// def mult_complexity(x):
// ceiling(x/8)^2
//
// where is x is max(length_of_MODULUS, length_of_BASE)
gas.Add(gas, big7)
gas.Rsh(gas, 3)
gas.Mul(gas, gas)
var minPrice uint64 = 200
if c.eip7883 {
minPrice = 500
if maxLenOver32 {
gas.Add(gas, gas)
} else {
gas = big.NewInt(16)
}
}
if adjExpLen.Cmp(big1) > 0 {
gas.Mul(gas, adjExpLen)
}
// 2. Different divisor (`GQUADDIVISOR`) (3)
if !c.eip7883 {
gas.Div(gas, big3)
}
if gas.BitLen() > 64 {
return math.MaxUint64
}
return max(minPrice, gas.Uint64())
}
// Pre-Berlin logic.
gas = modexpMultComplexity(gas)
if adjExpLen.Cmp(big1) > 0 {
gas.Mul(gas, adjExpLen)
}
gas.Div(gas, big20)
if gas.BitLen() > 64 {
return math.MaxUint64
}
return gas.Uint64()
}
func (c *bigModExp) Run(input []byte) ([]byte, error) {

View file

@ -117,5 +117,215 @@
"Name": "nagydani-5-pow0x10001",
"Gas": 87381,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000c1000000000000000000000000000000000000000000000000000000000000000cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000007d7d7d83828282348286877d7d827d407d797d7d7d7d7d7d7d7d7d7d7d5b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000000cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4000007d7d7d83828282348286877d7d82",
"Expected": "36a385a417859b5e178d3ab9",
"Name": "marius-1-even",
"Gas": 2057,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000d80000000000000000000000000000000000000000000000000000000000000010ffffffffffffffff76ffffffffffffff1cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c76ec7c7c7c7ffffffffffffffc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7ffffffffffffc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c76ec7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7ffffffffff3f000000000000000000000000",
"Expected": "c3745de81615f80088ffffffffffffff",
"Name": "guido-1-even",
"Gas": 2298,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000d80000000000000000000000000000000000000000000000000000000000000010e0060000a921212121212121ff0000212b212121ffff1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f00feffff212121212121ffffffff1fe1e0e0e01e1f1f169f1f1f1f490afcefffffffffffffffff82828282828282828282828282828282828282828200ffff28ff2b212121ffff1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1fffffffffff0afceffffff7ffffffffff7c8282828282a1828282828282828282828282828200ffff28ff2b212121ffff1f1f1f1f1f1fd11f1f1f1f1f1f1f1f1f1f1fffffffffffffffff21212121212121fb2121212121ffff1f1f1f1f1f1f1f1fffaf82828282828200ffff28ff2b21828200",
"Expected": "458ef0af2549d46d24c89079499479e1",
"Name": "guido-2-even",
"Gas": 2300,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000001e7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002cb0193585a48e18aad777e9c1b54221a0f58140392e4f091cd5f42b2e8644a9384fbd58ae1edec2477ebf7edbf7c0a3f8bd21d1890ee87646feab3c47be716f842cc3da9b940af312dc54450a960e3fc0b86e56abddd154068e10571a96fff6259431632bc15695c6c8679057e66c2c25c127e97e64ee5de6ea1fc0a4a0e431343fed1daafa072c238a45841da86a9806680bc9f298411173210790359209cd454b5af7b4d5688b4403924e5f863d97e2c5349e1a04b54fcf385b1e9d7714bab8fbf5835f6ff9ed575e77dff7af5cbb641db5d537933bae1fa6555d6c12d6fb31ca27b57771f4aebfbe0bf95e8990c0108ffe7cbdaf370be52cf3ade594543af75ad9329d2d11a402270b5b9a6bf4b83307506e118fca4862749d04e916fc7a039f0d13f2a02e0eedb800199ec95df15b4ccd8669b52586879624d51219e72102fad810b5909b1e372ddf33888fb9beb09b416e4164966edbabd89e4a286be36277fc576ed519a15643dac602e92b63d0b9121f0491da5b16ef793a967f096d80b6c81ecaaffad7e3f06a4a5ac2796f1ed9f68e6a0fd5cf191f0c5c2eec338952ff8d31abc68bf760febeb57e088995ba1d7726a2fdd6d8ca28a181378b8b4ab699bfd4b696739bbf17a9eb2df6251143046137fdbbfacac312ebf67a67da9741b596000000000000419a2917c61722b0713d3b00a2f0e1dd5aebbbe09615de424700eea3c3020fe6e9ea5de9fa1ace781df28b21f746d2ab61d0da496e08473c90ff7dfe25b43bcde76f4bafb82e0975bea75f5a0591dba80ba2fff80a07d8853bea5be13ab326ba70c57b153acc646151948d1cf061ca31b02d4719fac710e7c723ca44f5b1737824b7ccc74ba5bff980aabdbf267621cafc3d6dcc29d0ca9c16839a92ed34de136da7900aa3ee43d21aa57498981124357cf0ca9b86f9a8d3f9c604ca00c726e48f7a9945021ea6dfff92d6b2d6514693169ca133e993541bfa4c4c191de806aa80c48109bcfc9901eccfdeb2395ab75fe63c67de900829d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"Expected": "1194e971c875bb45f030316793bc6916343335b18670dfad7a4646fba99749b30283b78b818836de7400ff1a68ddad1a2dd850ec0f227441e2d4d13f5ee4b5d7a856db0a9ad1f86987e1f117d70f9e6a1a2b8d083fa82653aa16f1773b6deb2ed8a1f9e7f3a5db121c4a0c91cb954e2ec53e63422efe86c7984d79cd0e7b5e3eb8ca4980551d63f302c7d72500a84baf12c82fc7bd9b5c2ab8b9c33baf1df28b2031c58a8b2928a42c9f456e98874e22fe13cf17aa5915b11bb108b6ae40842d434604ccddcb4f64324c67b2dde32e6cd759d964f17d9cdf0046cd0ed3588e1fc4b88f67a5d4f3a870aad1cba89ead265d6ad327c8ea7ff54fe4b5e7dbe87c5c59c468543eab3675751111bfa1d6c51daf789d41dc21fd8ba9e05490f881a973a3c1567ff3129a49aa6658cf06f0a79530a7256ce5a07c2a77b4306383d538866bba376d90621c4f82d1f5f32304ee2b7170805d42418fc6967642e5648d8c64fe9c0fdff2d7c114a47add7767c8fccb8808de8c3c6e1a8880c05e16fafc1513fded8eba222dcaaa809bdb36999cc27ab8d0055009e9690e8a35b859df865dc510d25c7812d8eebbb35607ad595573f0fabd1b57970a2bc113ac6f0ca01e985032b9c2c139316ac099ed1632d2bc0fcc341343d303db2a9c3cf2ad572c6c43084b08d458bf822e92da16079f39cdb0dd10ef47f87ecae404117fc72660372cee9ea42266e7f8d973e7f6b09930ca5f96e04976bf23b9d356bbd2429597b04b7663e0e1a1228f4dfda3b854233e4888dc60c6886c1e0e8aec1705f681027b1e0b3017337557f107ef5cd272df5fd31dfec2bdffe163a8369895ffe124c0aa0ee00ca0fe1db4d5cf37b4af0e49bd73a89d88ced3d88f8e6f00d8e61ad09946d0e72cd3e25bc688a021a83758b5023daae7c269a6cbbd447aba5da7629b75801e1654ce85b8e21ccb9865654f8662e538625d75fea31000000000000000000000000000000000000000000000",
"Name": "guido-3-even",
"Gas": 5400,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000181000000000000000000000000000000000000000000000000000000000000000801ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2cffffffffffffffffffffffffffffffffffffffffffffffffffffffff3b10000000006c01ffffffffffffffffffffffffffffffffffffffffffffffdffffb97ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3bffffffffffffffffffffffffffffffffffffffffffffffffffffffffebafd93b37ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc5bb6affffffff3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2a",
"Expected": "0000000000000001",
"Name": "guido-4-even",
"Gas": 1026,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f2ee5f854d076701c8753d72779187e404f9b2fb705c495137d78551250314a463ef5a213fe22de1cea28d60f518364ff95fe0b73660793e3efcfbe31bda68aeccc21cc9477a6aea5df8cae73422b700c47e54d892691e099167e77befc94780a920ae4155769cd69c30626f054134b5f003772473f57f84837402df6d166e66303f01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c954b27ac388a17c8e9a7ba12a968f288f3308d6fe7bcdf28e685e9a2e00d8be1af19726b7662016d6404f9336493ad633777feb88c9d02a1d2428e566ac38f42c0bb66d2962ec349088ce0d03b35bf27f6114414ef558c87ad8e543754a352f7dffcaca429690688595ab1d1b349d9295b480a82f43ac5c9112fe40720545cc78501cd8b42f3605212fe06a835c9cbc0328e07e94aedb2ac11f6d6649e7fcd8c43",
"Expected": "120cf297dbe810911c7d060e109e03699ccefa00a257d296c5a14b4180776c5f7c0d7f1cd789c694807689729af267b53f00373f395dee264a3daba11fcac1fa8875aee0950acd8fa656f1fc58077a7549d794dd160506ecea1acc9c0cda13795749c94f9973b683ce2162866e8d6b5b1165a4c7fa4234964d394d6ec4e0113698b89d173e24a962dd7a41a1819b0fef188ef64e7ee264595dce0d76fbc3ba42d5de833b143c8744366effede8bc8197e8f747ff8cdbc0bf1a93560bec960ca9",
"Name": "marcin-1-base-heavy",
"Gas": 200,
"NoBenchmark": false
},
{
"Input": "0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000005100000000000000000000000000000000000000000000000000000000000000080001020304050607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001020304050607",
"Expected": "0000000000000000",
"Name": "marcin-1-exp-heavy",
"Gas": 215,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000028e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c000102030405060701fffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c950001020304050607",
"Expected": "1abce71dc2205cce4eb6934397a88136f94641342e283cbcd30e929e85605c6718ed67f475192ffd",
"Name": "marcin-1-balanced",
"Gas": 200,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000019800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000198e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f2ee5f854d076701c8753d72779187e404f9b2fb705c495137d78551250314a463ef5a213fe22de1cea28d60f518364ff95fe0b73660793e3efcfbe31bda68aeccc21cc9477a6aea5df8cae73422b700c47e54d892691e099167e77befc94780a920ae4155769cd69c30626f054134b5f003772473f57f84837402df6d166e663c29021b0e084f7dc16f6ec88cc597f1aea9f8e0b9501e0f7a546805d2a20eeda0bf080aeb3ed7ea6f9174d804bd242f0b31ff1ea24800344abb580cd87f61ca75a013a87733553966400242399dee3760877fead2cd87287747155e47a854acb50fe07922f57ae3b4553201bfd7c11aca85e1541f91db8e62dca9c418dc5feae086c9487350539c884510044efce5e3f2aaffca4215c12b9044506375097fecd9b22e2ef46f01f1af8aff742aebf96bdcaf55a341600971dc62555376b9e98a8000102030405060708090a0b0c0d0e0f101112131415161703f01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c954b27ac388a17c8e9a7ba12a968f288f3308d6fe7bcdf28e685e9a2e00d8be1af19726b7662016d6404f9336493ad633777feb88c9d02a1d2428e566ac38f42c0bb66d2962ec349088ce0d03b35bf27f6114414ef558c87ad8e543754a352f7dffcaca429690688595ab1d1b349d9295b480a82f43ac5c9112fe40720545cc78501cd8b42f3605212fe06a835c9cbc0328e07e94aedb2ac11f6d6649e7fcd8c43ddce2bd0cdc6c22c4dcd345735040d5bfe3f09b7c61362089f728e2222db96cab2f2c2ccf43574f9e119f4860fd0f1b6036a43ad9db8a428ea09a4ee385112f3fe9c6656ea2cec604cbb5a9227526653bfa7035e4ae80010b1ba16a76608d5dde0a62bc019e9047b5ec05b1005fd017366130a4ba555e7be654561ee3f539c93cb2c9988fca71bf0ad9c4a426b924641a28e1e4adb93609bfa5b2bc81714cbba1110208b86d7b87be28bdf63a62e33ae81dbcc43de9192bd192c40e85faab539000102030405060708090a0b0c0d0e0f1011121314151617",
"Expected": "817d05c4d540ace3f250fd082e2deb8c2097410fcfe4ce40862cfa015b7f62a7bb72ec1af2915cad66294447b45d177fe759eb80370b0dbd3c0e1c448d54db81eadc11e40c19e394d066a5c019c443798a98d4afd116fc220593d42fbf191b6af0ae75410badb641187ba24a0b968f742a75e2822853f137151d9ea972fd1f36b7c7cc4e71355ecf50648aec094b864cfae9316c0a7be3ddb8ab2d0050b2a029ee956c2366d49430c8f889f29ab514aea8e5b8dec40ba1b49432e30aee32ec45e96dd548205a79d8f8f918eed46acb2115c59086b1011b1d2b093cea723535c3d95efc8e51a7da43b80586d69eb7f213dfb06f7a8e789a9472392bd224411b50f8ca6f2862bcd63431912d1ff99c8d76408245da9e4bea649f0eb930b32922f2d0a345a206160be44d418f1a6c74bd49c4618392ef9350b264a461dfc684c7343211e27675b027054f1cb3d4a5b1a066d3a3ea2eed9caf13251d8be936818f15274e8e3d7539b7c5f216cef327a270fd2a886fbf679c163fb5806249f2c74da5ee0e3ffe9ad1fde2634b29b35da6da6d184ab6ae70199229",
"Name": "marcin-2-base-heavy",
"Gas": 867,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000102030405060708090a0b0c0d0e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708090a0b0c0d0e0f",
"Expected": "00000000000000000000000000000000",
"Name": "marcin-2-exp-heavy",
"Gas": 852,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c000102030405060708090a0b0c0d0e0f10111213141516172bfffffffffffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c95000102030405060708090a0b0c0d0e0f1011121314151617",
"Expected": "86bef3367fc7117c8a6b825cadebe80f3e94c321dda73e9e240b98188a1d5c071c60a195097c8d1fb85ce03a2e1b6964846edee5aa2c3f46",
"Name": "marcin-2-balanced",
"Gas": 996,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244cfffffffffffffffffffffffffffffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c95",
"Expected": "4004762c491606a5132134da6086284f74cc8e14b08f18b90fc09f31bca3d78f",
"Name": "marcin-3-base-heavy",
"Gas": 677,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018000102030405060708090a0b0c0d0e0f1011121314151617ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708090a0b0c0d0e0f1011121314151617",
"Expected": "000000000000000000000000000000000000000000000000",
"Name": "marcin-3-exp-heavy",
"Gas": 765,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244cfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c95",
"Expected": "2d3feee20d394af68dd6744b86a8aca6a4a0b7f01bbcd3c3eec768245ca6acee",
"Name": "marcin-3-balanced",
"Gas": 1360,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000051000000000000000000000000000000000000000000000000000000000000000800ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffff",
"Name": "mod-8-exp-648",
"Gas": 215,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000800ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffff",
"Name": "mod-8-exp-896",
"Gas": 298,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-32",
"Gas": 200,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-36",
"Gas": 200,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-40",
"Gas": 208,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-64",
"Gas": 336,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-65",
"Gas": 341,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-128",
"Gas": 677,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "02fd01000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03feffffffffff",
"Name": "mod-256-exp-2",
"Gas": 341,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000001080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010800ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff00",
"Expected": "0100fefffffffffffff710f80000000006f108000000000000feffffffffffff0100fefffffffffffef90ff80000000105f008ffffffffff02fdffffffffffff0100feffffffffff00f80ff80000010101f407fffffffd06fc0000000000fd020000feffffffff00fff80ff8000101fa08f207fffffb0afa0000000001fb03000000feffffff00fffff80ff80102f80405f207fff90ef80000000002f90400000000feffff00fffffff80ff903f6050005f207f712f60000000003f7050000000000feff00fffffffff810fcf406000005f1fd16f40000000004f506000000000000fe00fffffffffff915ea0700000005e522f20000000005f306ffffffffffffffffffffffffff",
"Name": "mod-264-exp-2",
"Gas": 363,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000040000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02feffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-1024-exp-2",
"Gas": 5461,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "2a02d5f86c2375ff",
"Name": "pawel-1-exp-heavy",
"Gas": 298,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "823ef7dc60d6d9616756c48f69b7c4ff",
"Name": "pawel-2-exp-heavy",
"Gas": 425,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000018ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "c817dd5aa60a41948eed409706c2aa97be3000d4da0261ff",
"Name": "pawel-3-exp-heavy",
"Gas": 501,
"NoBenchmark": false
},
{
"Input": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000020ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "2defaca0137d6edacbbd5d36d6ed70cbf8a998ffb19fc270d45a18d37e0f35ff",
"Name": "pawel-4-exp-heavy",
"Gas": 506,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000017bffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffe",
"Expected": "200f14de1d474710c1c979920452e0ffc2ac6f618afba5",
"Name": "mod_vul_pawel_3_exp_8",
"Gas": 200,
"NoBenchmark": false
}
]

View file

@ -103,5 +103,215 @@
"Name": "nagydani-5-pow0x10001",
"Gas": 524288,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000c1000000000000000000000000000000000000000000000000000000000000000cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000007d7d7d83828282348286877d7d827d407d797d7d7d7d7d7d7d7d7d7d7d5b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000021000000000000000000000000000000000000000000000000000000000000000cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4000007d7d7d83828282348286877d7d82",
"Expected": "36a385a417859b5e178d3ab9",
"Name": "marius-1-even",
"Gas": 45296,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000d80000000000000000000000000000000000000000000000000000000000000010ffffffffffffffff76ffffffffffffff1cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c76ec7c7c7c7ffffffffffffffc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7ffffffffffffc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c76ec7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7ffffffffff3f000000000000000000000000",
"Expected": "c3745de81615f80088ffffffffffffff",
"Name": "guido-1-even",
"Gas": 51136,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000d80000000000000000000000000000000000000000000000000000000000000010e0060000a921212121212121ff0000212b212121ffff1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f00feffff212121212121ffffffff1fe1e0e0e01e1f1f169f1f1f1f490afcefffffffffffffffff82828282828282828282828282828282828282828200ffff28ff2b212121ffff1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1fffffffffff0afceffffff7ffffffffff7c8282828282a1828282828282828282828282828200ffff28ff2b212121ffff1f1f1f1f1f1fd11f1f1f1f1f1f1f1f1f1f1fffffffffffffffff21212121212121fb2121212121ffff1f1f1f1f1f1f1f1fffaf82828282828200ffff28ff2b21828200",
"Expected": "458ef0af2549d46d24c89079499479e1",
"Name": "guido-2-even",
"Gas": 51152,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000001e7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002cb0193585a48e18aad777e9c1b54221a0f58140392e4f091cd5f42b2e8644a9384fbd58ae1edec2477ebf7edbf7c0a3f8bd21d1890ee87646feab3c47be716f842cc3da9b940af312dc54450a960e3fc0b86e56abddd154068e10571a96fff6259431632bc15695c6c8679057e66c2c25c127e97e64ee5de6ea1fc0a4a0e431343fed1daafa072c238a45841da86a9806680bc9f298411173210790359209cd454b5af7b4d5688b4403924e5f863d97e2c5349e1a04b54fcf385b1e9d7714bab8fbf5835f6ff9ed575e77dff7af5cbb641db5d537933bae1fa6555d6c12d6fb31ca27b57771f4aebfbe0bf95e8990c0108ffe7cbdaf370be52cf3ade594543af75ad9329d2d11a402270b5b9a6bf4b83307506e118fca4862749d04e916fc7a039f0d13f2a02e0eedb800199ec95df15b4ccd8669b52586879624d51219e72102fad810b5909b1e372ddf33888fb9beb09b416e4164966edbabd89e4a286be36277fc576ed519a15643dac602e92b63d0b9121f0491da5b16ef793a967f096d80b6c81ecaaffad7e3f06a4a5ac2796f1ed9f68e6a0fd5cf191f0c5c2eec338952ff8d31abc68bf760febeb57e088995ba1d7726a2fdd6d8ca28a181378b8b4ab699bfd4b696739bbf17a9eb2df6251143046137fdbbfacac312ebf67a67da9741b596000000000000419a2917c61722b0713d3b00a2f0e1dd5aebbbe09615de424700eea3c3020fe6e9ea5de9fa1ace781df28b21f746d2ab61d0da496e08473c90ff7dfe25b43bcde76f4bafb82e0975bea75f5a0591dba80ba2fff80a07d8853bea5be13ab326ba70c57b153acc646151948d1cf061ca31b02d4719fac710e7c723ca44f5b1737824b7ccc74ba5bff980aabdbf267621cafc3d6dcc29d0ca9c16839a92ed34de136da7900aa3ee43d21aa57498981124357cf0ca9b86f9a8d3f9c604ca00c726e48f7a9945021ea6dfff92d6b2d6514693169ca133e993541bfa4c4c191de806aa80c48109bcfc9901eccfdeb2395ab75fe63c67de900829d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"Expected": "1194e971c875bb45f030316793bc6916343335b18670dfad7a4646fba99749b30283b78b818836de7400ff1a68ddad1a2dd850ec0f227441e2d4d13f5ee4b5d7a856db0a9ad1f86987e1f117d70f9e6a1a2b8d083fa82653aa16f1773b6deb2ed8a1f9e7f3a5db121c4a0c91cb954e2ec53e63422efe86c7984d79cd0e7b5e3eb8ca4980551d63f302c7d72500a84baf12c82fc7bd9b5c2ab8b9c33baf1df28b2031c58a8b2928a42c9f456e98874e22fe13cf17aa5915b11bb108b6ae40842d434604ccddcb4f64324c67b2dde32e6cd759d964f17d9cdf0046cd0ed3588e1fc4b88f67a5d4f3a870aad1cba89ead265d6ad327c8ea7ff54fe4b5e7dbe87c5c59c468543eab3675751111bfa1d6c51daf789d41dc21fd8ba9e05490f881a973a3c1567ff3129a49aa6658cf06f0a79530a7256ce5a07c2a77b4306383d538866bba376d90621c4f82d1f5f32304ee2b7170805d42418fc6967642e5648d8c64fe9c0fdff2d7c114a47add7767c8fccb8808de8c3c6e1a8880c05e16fafc1513fded8eba222dcaaa809bdb36999cc27ab8d0055009e9690e8a35b859df865dc510d25c7812d8eebbb35607ad595573f0fabd1b57970a2bc113ac6f0ca01e985032b9c2c139316ac099ed1632d2bc0fcc341343d303db2a9c3cf2ad572c6c43084b08d458bf822e92da16079f39cdb0dd10ef47f87ecae404117fc72660372cee9ea42266e7f8d973e7f6b09930ca5f96e04976bf23b9d356bbd2429597b04b7663e0e1a1228f4dfda3b854233e4888dc60c6886c1e0e8aec1705f681027b1e0b3017337557f107ef5cd272df5fd31dfec2bdffe163a8369895ffe124c0aa0ee00ca0fe1db4d5cf37b4af0e49bd73a89d88ced3d88f8e6f00d8e61ad09946d0e72cd3e25bc688a021a83758b5023daae7c269a6cbbd447aba5da7629b75801e1654ce85b8e21ccb9865654f8662e538625d75fea31000000000000000000000000000000000000000000000",
"Name": "guido-3-even",
"Gas": 32400,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000181000000000000000000000000000000000000000000000000000000000000000801ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2cffffffffffffffffffffffffffffffffffffffffffffffffffffffff3b10000000006c01ffffffffffffffffffffffffffffffffffffffffffffffdffffb97ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3bffffffffffffffffffffffffffffffffffffffffffffffffffffffffebafd93b37ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc5bb6affffffff3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2a",
"Expected": "0000000000000001",
"Name": "guido-4-even",
"Gas": 94448,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c0e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f2ee5f854d076701c8753d72779187e404f9b2fb705c495137d78551250314a463ef5a213fe22de1cea28d60f518364ff95fe0b73660793e3efcfbe31bda68aeccc21cc9477a6aea5df8cae73422b700c47e54d892691e099167e77befc94780a920ae4155769cd69c30626f054134b5f003772473f57f84837402df6d166e66303f01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c954b27ac388a17c8e9a7ba12a968f288f3308d6fe7bcdf28e685e9a2e00d8be1af19726b7662016d6404f9336493ad633777feb88c9d02a1d2428e566ac38f42c0bb66d2962ec349088ce0d03b35bf27f6114414ef558c87ad8e543754a352f7dffcaca429690688595ab1d1b349d9295b480a82f43ac5c9112fe40720545cc78501cd8b42f3605212fe06a835c9cbc0328e07e94aedb2ac11f6d6649e7fcd8c43",
"Expected": "120cf297dbe810911c7d060e109e03699ccefa00a257d296c5a14b4180776c5f7c0d7f1cd789c694807689729af267b53f00373f395dee264a3daba11fcac1fa8875aee0950acd8fa656f1fc58077a7549d794dd160506ecea1acc9c0cda13795749c94f9973b683ce2162866e8d6b5b1165a4c7fa4234964d394d6ec4e0113698b89d173e24a962dd7a41a1819b0fef188ef64e7ee264595dce0d76fbc3ba42d5de833b143c8744366effede8bc8197e8f747ff8cdbc0bf1a93560bec960ca9",
"Name": "marcin-1-base-heavy",
"Gas": 1152,
"NoBenchmark": false
},
{
"Input": "0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000005100000000000000000000000000000000000000000000000000000000000000080001020304050607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0001020304050607",
"Expected": "0000000000000000",
"Name": "marcin-1-exp-heavy",
"Gas": 16624,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000028e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c000102030405060701fffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c950001020304050607",
"Expected": "1abce71dc2205cce4eb6934397a88136f94641342e283cbcd30e929e85605c6718ed67f475192ffd",
"Name": "marcin-1-balanced",
"Gas": 1200,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000019800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000198e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c51f81bcdfc324a0dff2b5bec9d92e21cbebc4d5e29d3a3d30de3e03fbeab8d7f2ee5f854d076701c8753d72779187e404f9b2fb705c495137d78551250314a463ef5a213fe22de1cea28d60f518364ff95fe0b73660793e3efcfbe31bda68aeccc21cc9477a6aea5df8cae73422b700c47e54d892691e099167e77befc94780a920ae4155769cd69c30626f054134b5f003772473f57f84837402df6d166e663c29021b0e084f7dc16f6ec88cc597f1aea9f8e0b9501e0f7a546805d2a20eeda0bf080aeb3ed7ea6f9174d804bd242f0b31ff1ea24800344abb580cd87f61ca75a013a87733553966400242399dee3760877fead2cd87287747155e47a854acb50fe07922f57ae3b4553201bfd7c11aca85e1541f91db8e62dca9c418dc5feae086c9487350539c884510044efce5e3f2aaffca4215c12b9044506375097fecd9b22e2ef46f01f1af8aff742aebf96bdcaf55a341600971dc62555376b9e98a8000102030405060708090a0b0c0d0e0f101112131415161703f01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c954b27ac388a17c8e9a7ba12a968f288f3308d6fe7bcdf28e685e9a2e00d8be1af19726b7662016d6404f9336493ad633777feb88c9d02a1d2428e566ac38f42c0bb66d2962ec349088ce0d03b35bf27f6114414ef558c87ad8e543754a352f7dffcaca429690688595ab1d1b349d9295b480a82f43ac5c9112fe40720545cc78501cd8b42f3605212fe06a835c9cbc0328e07e94aedb2ac11f6d6649e7fcd8c43ddce2bd0cdc6c22c4dcd345735040d5bfe3f09b7c61362089f728e2222db96cab2f2c2ccf43574f9e119f4860fd0f1b6036a43ad9db8a428ea09a4ee385112f3fe9c6656ea2cec604cbb5a9227526653bfa7035e4ae80010b1ba16a76608d5dde0a62bc019e9047b5ec05b1005fd017366130a4ba555e7be654561ee3f539c93cb2c9988fca71bf0ad9c4a426b924641a28e1e4adb93609bfa5b2bc81714cbba1110208b86d7b87be28bdf63a62e33ae81dbcc43de9192bd192c40e85faab539000102030405060708090a0b0c0d0e0f1011121314151617",
"Expected": "817d05c4d540ace3f250fd082e2deb8c2097410fcfe4ce40862cfa015b7f62a7bb72ec1af2915cad66294447b45d177fe759eb80370b0dbd3c0e1c448d54db81eadc11e40c19e394d066a5c019c443798a98d4afd116fc220593d42fbf191b6af0ae75410badb641187ba24a0b968f742a75e2822853f137151d9ea972fd1f36b7c7cc4e71355ecf50648aec094b864cfae9316c0a7be3ddb8ab2d0050b2a029ee956c2366d49430c8f889f29ab514aea8e5b8dec40ba1b49432e30aee32ec45e96dd548205a79d8f8f918eed46acb2115c59086b1011b1d2b093cea723535c3d95efc8e51a7da43b80586d69eb7f213dfb06f7a8e789a9472392bd224411b50f8ca6f2862bcd63431912d1ff99c8d76408245da9e4bea649f0eb930b32922f2d0a345a206160be44d418f1a6c74bd49c4618392ef9350b264a461dfc684c7343211e27675b027054f1cb3d4a5b1a066d3a3ea2eed9caf13251d8be936818f15274e8e3d7539b7c5f216cef327a270fd2a886fbf679c163fb5806249f2c74da5ee0e3ffe9ad1fde2634b29b35da6da6d184ab6ae70199229",
"Name": "marcin-2-base-heavy",
"Gas": 5202,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000010000102030405060708090a0b0c0d0e0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708090a0b0c0d0e0f",
"Expected": "00000000000000000000000000000000",
"Name": "marcin-2-exp-heavy",
"Gas": 16368,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000038e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244c000102030405060708090a0b0c0d0e0f10111213141516172bfffffffffffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c95000102030405060708090a0b0c0d0e0f1011121314151617",
"Expected": "86bef3367fc7117c8a6b825cadebe80f3e94c321dda73e9e240b98188a1d5c071c60a195097c8d1fb85ce03a2e1b6964846edee5aa2c3f46",
"Name": "marcin-2-balanced",
"Gas": 5978,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244cfffffffffffffffffffffffffffffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c95",
"Expected": "4004762c491606a5132134da6086284f74cc8e14b08f18b90fc09f31bca3d78f",
"Name": "marcin-3-base-heavy",
"Gas": 2032,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018000102030405060708090a0b0c0d0e0f1011121314151617ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000102030405060708090a0b0c0d0e0f1011121314151617",
"Expected": "000000000000000000000000000000000000000000000000",
"Name": "marcin-3-exp-heavy",
"Gas": 4080,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020e8e77626586f73b955364c7b4bbf0bb7f7685ebd40e852b164633a4acbd3244cfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01681d2220bfea4bb888a5543db8c0916274ddb1ea93b144c042c01d8164c95",
"Expected": "2d3feee20d394af68dd6744b86a8aca6a4a0b7f01bbcd3c3eec768245ca6acee",
"Name": "marcin-3-balanced",
"Gas": 4080,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000051000000000000000000000000000000000000000000000000000000000000000800ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffff",
"Name": "mod-8-exp-648",
"Gas": 16624,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000800ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffff",
"Name": "mod-8-exp-896",
"Gas": 24560,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-32",
"Gas": 500,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-36",
"Gas": 560,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-40",
"Gas": 624,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-64",
"Gas": 1008,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-65",
"Gas": 1024,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-32-exp-128",
"Gas": 2032,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "02fd01000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03ff0000000000000000000000000000000000000000000000fefffffffffffd03feffffffffff",
"Name": "mod-256-exp-2",
"Gas": 2048,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000001080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010800ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff00",
"Expected": "0100fefffffffffffff710f80000000006f108000000000000feffffffffffff0100fefffffffffffef90ff80000000105f008ffffffffff02fdffffffffffff0100feffffffffff00f80ff80000010101f407fffffffd06fc0000000000fd020000feffffffff00fff80ff8000101fa08f207fffffb0afa0000000001fb03000000feffffff00fffff80ff80102f80405f207fff90ef80000000002f90400000000feffff00fffffff80ff903f6050005f207f712f60000000003f7050000000000feff00fffffffff810fcf406000005f1fd16f40000000004f506000000000000fe00fffffffffff915ea0700000005e522f20000000005f306ffffffffffffffffffffffffff",
"Name": "mod-264-exp-2",
"Gas": 2178,
"NoBenchmark": false
},
{
"Input": "00000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000040000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00",
"Expected": "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02fefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02feffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Name": "mod-1024-exp-2",
"Gas": 32768,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000008ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "2a02d5f86c2375ff",
"Name": "pawel-1-exp-heavy",
"Gas": 24560,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "823ef7dc60d6d9616756c48f69b7c4ff",
"Name": "pawel-2-exp-heavy",
"Gas": 6128,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000018ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "c817dd5aa60a41948eed409706c2aa97be3000d4da0261ff",
"Name": "pawel-3-exp-heavy",
"Gas": 2672,
"NoBenchmark": false
},
{
"Input": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000020ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"Expected": "2defaca0137d6edacbbd5d36d6ed70cbf8a998ffb19fc270d45a18d37e0f35ff",
"Name": "pawel-4-exp-heavy",
"Gas": 1520,
"NoBenchmark": false
},
{
"Input": "000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000017bffffffffffffffffffffffffffffffffffffffffffffbffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffe",
"Expected": "200f14de1d474710c1c979920452e0ffc2ac6f618afba5",
"Name": "mod_vul_pawel_3_exp_8",
"Gas": 1008,
"NoBenchmark": false
}
]