Skip to content

test_worst_binop_simple()

Documentation for tests/benchmark/test_worst_compute.py::test_worst_binop_simple@0f7c73a7.

Generate fixtures for these test cases for Prague with:

fill -v tests/benchmark/test_worst_compute.py::test_worst_binop_simple --fork Prague

Test running a block with as many binary instructions (takes two args, produces one value) as possible. The execution starts with two initial values on the stack, and the stack is balanced by the DUP2 instruction.

Source code in tests/benchmark/test_worst_compute.py
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
@pytest.mark.valid_from("Cancun")
@pytest.mark.parametrize(
    "opcode,opcode_args",
    [
        (
            Op.ADD,
            DEFAULT_BINOP_ARGS,
        ),
        (
            Op.MUL,
            DEFAULT_BINOP_ARGS,
        ),
        (
            # This has the cycle of 2, after two SUBs values are back to initials.
            Op.SUB,
            DEFAULT_BINOP_ARGS,
        ),
        (
            # This has the cycle of 2:
            # v[0] = a // b
            # v[1] = a // v[0] = a // (a // b) = b
            # v[2] = a // b
            Op.DIV,
            (
                0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F,
                # We want the first divisor to be slightly bigger than 2**128:
                # this is the worst case for the division algorithm with optimized paths
                # for division by 1 and 2 words.
                0x100000000000000000000000000000033,
            ),
        ),
        (
            # This has the cycle of 2, see above.
            Op.DIV,
            (
                0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F,
                # We want the first divisor to be slightly bigger than 2**64:
                # this is the worst case for the division algorithm with an optimized path
                # for division by 1 word.
                0x10000000000000033,
            ),
        ),
        (
            # Same as DIV-0, but the numerator made positive, and the divisor made negative.
            Op.SDIV,
            (
                0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F,
                0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD,
            ),
        ),
        (
            # Same as DIV-1, but the numerator made positive, and the divisor made negative.
            Op.SDIV,
            (
                0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F,
                0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFCD,
            ),
        ),
        (
            # This scenario is not suitable for MOD because the values quickly become 0.
            Op.MOD,
            DEFAULT_BINOP_ARGS,
        ),
        (
            # This scenario is not suitable for SMOD because the values quickly become 0.
            Op.SMOD,
            DEFAULT_BINOP_ARGS,
        ),
        (
            # This keeps the values unchanged, pow(2**256-1, 2**256-1, 2**256) == 2**256-1.
            Op.EXP,
            (
                0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,
                0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,
            ),
        ),
        (
            # Not great because we always sign-extend the 4 bytes.
            Op.SIGNEXTEND,
            (
                3,
                0xFFDADADA,  # Negative to have more work.
            ),
        ),
        (
            Op.LT,  # Keeps getting result 1.
            (0, 1),
        ),
        (
            Op.GT,  # Keeps getting result 0.
            (0, 1),
        ),
        (
            Op.SLT,  # Keeps getting result 1.
            (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 1),
        ),
        (
            Op.SGT,  # Keeps getting result 0.
            (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 1),
        ),
        (
            # The worst case is if the arguments are equal (no early return),
            # so let's keep it comparing ones.
            Op.EQ,
            (1, 1),
        ),
        (
            Op.AND,
            DEFAULT_BINOP_ARGS,
        ),
        (
            Op.OR,
            DEFAULT_BINOP_ARGS,
        ),
        (
            Op.XOR,
            DEFAULT_BINOP_ARGS,
        ),
        (
            Op.BYTE,  # Keep extracting the last byte: 0x2F.
            (31, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F),
        ),
        (
            Op.SHL,  # Shift by 1 until getting 0.
            (1, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F),
        ),
        (
            Op.SHR,  # Shift by 1 until getting 0.
            (1, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F),
        ),
        (
            Op.SAR,  # Shift by 1 until getting -1.
            (1, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F),
        ),
    ],
    ids=lambda param: "" if isinstance(param, tuple) else param,
)
def test_worst_binop_simple(
    state_test: StateTestFiller, pre: Alloc, opcode: Op, fork: Fork, opcode_args: tuple[int, int]
):
    """
    Test running a block with as many binary instructions (takes two args, produces one value)
    as possible. The execution starts with two initial values on the stack, and the stack is
    balanced by the DUP2 instruction.
    """
    env = Environment()
    max_code_size = fork.max_code_size()

    tx_data = b"".join(arg.to_bytes(32, byteorder="big") for arg in opcode_args)

    code_prefix = Op.JUMPDEST + Op.CALLDATALOAD(0) + Op.CALLDATALOAD(32)
    code_suffix = Op.POP + Op.POP + Op.PUSH0 + Op.JUMP
    code_body_len = max_code_size - len(code_prefix) - len(code_suffix)
    code_body = (Op.DUP2 + opcode) * (code_body_len // 2)
    code = code_prefix + code_body + code_suffix
    assert len(code) == max_code_size - 1

    tx = Transaction(
        to=pre.deploy_contract(code=code),
        data=tx_data,
        gas_limit=env.gas_limit,
        sender=pre.fund_eoa(),
    )

    state_test(
        env=env,
        pre=pre,
        post={},
        tx=tx,
    )

Parametrized Test Cases

The interactive table below is also available as a standalone page.

Test ID (Abbreviated) opcode opcode_args
...fork_Cancun-state_test-opcode_ADD- ADD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_MUL- MUL (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_SUB- SUB (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_DIV-0 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 340282366920938463463374607431768211507)
...fork_Cancun-state_test-opcode_DIV-1 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 18446744073709551667)
...fork_Cancun-state_test-opcode_SDIV-0 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907852929702298719625575994209400481361428429)
...fork_Cancun-state_test-opcode_SDIV-1 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907853269984665640564039439137263839420088269)
...fork_Cancun-state_test-opcode_MOD- MOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_SMOD- SMOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_EXP- EXP (115792089237316195423570985008687907853269984665640564039457584007913129639935, 115792089237316195423570985008687907853269984665640564039457584007913129639935)
...fork_Cancun-state_test-opcode_SIGNEXTEND- SIGNEXTEND (3, 4292532954)
...fork_Cancun-state_test-opcode_LT- LT (0, 1)
...fork_Cancun-state_test-opcode_GT- GT (0, 1)
...fork_Cancun-state_test-opcode_SLT- SLT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Cancun-state_test-opcode_SGT- SGT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Cancun-state_test-opcode_EQ- EQ (1, 1)
...fork_Cancun-state_test-opcode_AND- AND (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_OR- OR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_XOR- XOR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-state_test-opcode_BYTE- BYTE (31, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-state_test-opcode_SHL- SHL (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-state_test-opcode_SHR- SHR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-state_test-opcode_SAR- SAR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-blockchain_test_from_state_test-opcode_ADD- ADD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_MUL- MUL (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_SUB- SUB (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_DIV-0 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 340282366920938463463374607431768211507)
...fork_Cancun-blockchain_test_from_state_test-opcode_DIV-1 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 18446744073709551667)
...fork_Cancun-blockchain_test_from_state_test-opcode_SDIV-0 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907852929702298719625575994209400481361428429)
...fork_Cancun-blockchain_test_from_state_test-opcode_SDIV-1 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907853269984665640564039439137263839420088269)
...fork_Cancun-blockchain_test_from_state_test-opcode_MOD- MOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_SMOD- SMOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_EXP- EXP (115792089237316195423570985008687907853269984665640564039457584007913129639935, 115792089237316195423570985008687907853269984665640564039457584007913129639935)
...fork_Cancun-blockchain_test_from_state_test-opcode_SIGNEXTEND- SIGNEXTEND (3, 4292532954)
...fork_Cancun-blockchain_test_from_state_test-opcode_LT- LT (0, 1)
...fork_Cancun-blockchain_test_from_state_test-opcode_GT- GT (0, 1)
...fork_Cancun-blockchain_test_from_state_test-opcode_SLT- SLT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Cancun-blockchain_test_from_state_test-opcode_SGT- SGT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Cancun-blockchain_test_from_state_test-opcode_EQ- EQ (1, 1)
...fork_Cancun-blockchain_test_from_state_test-opcode_AND- AND (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_OR- OR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_XOR- XOR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Cancun-blockchain_test_from_state_test-opcode_BYTE- BYTE (31, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-blockchain_test_from_state_test-opcode_SHL- SHL (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-blockchain_test_from_state_test-opcode_SHR- SHR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Cancun-blockchain_test_from_state_test-opcode_SAR- SAR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-state_test-opcode_ADD- ADD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_MUL- MUL (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_SUB- SUB (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_DIV-0 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 340282366920938463463374607431768211507)
...fork_Prague-state_test-opcode_DIV-1 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 18446744073709551667)
...fork_Prague-state_test-opcode_SDIV-0 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907852929702298719625575994209400481361428429)
...fork_Prague-state_test-opcode_SDIV-1 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907853269984665640564039439137263839420088269)
...fork_Prague-state_test-opcode_MOD- MOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_SMOD- SMOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_EXP- EXP (115792089237316195423570985008687907853269984665640564039457584007913129639935, 115792089237316195423570985008687907853269984665640564039457584007913129639935)
...fork_Prague-state_test-opcode_SIGNEXTEND- SIGNEXTEND (3, 4292532954)
...fork_Prague-state_test-opcode_LT- LT (0, 1)
...fork_Prague-state_test-opcode_GT- GT (0, 1)
...fork_Prague-state_test-opcode_SLT- SLT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Prague-state_test-opcode_SGT- SGT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Prague-state_test-opcode_EQ- EQ (1, 1)
...fork_Prague-state_test-opcode_AND- AND (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_OR- OR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_XOR- XOR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-state_test-opcode_BYTE- BYTE (31, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-state_test-opcode_SHL- SHL (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-state_test-opcode_SHR- SHR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-state_test-opcode_SAR- SAR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-blockchain_test_from_state_test-opcode_ADD- ADD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_MUL- MUL (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_SUB- SUB (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_DIV-0 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 340282366920938463463374607431768211507)
...fork_Prague-blockchain_test_from_state_test-opcode_DIV-1 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 18446744073709551667)
...fork_Prague-blockchain_test_from_state_test-opcode_SDIV-0 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907852929702298719625575994209400481361428429)
...fork_Prague-blockchain_test_from_state_test-opcode_SDIV-1 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907853269984665640564039439137263839420088269)
...fork_Prague-blockchain_test_from_state_test-opcode_MOD- MOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_SMOD- SMOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_EXP- EXP (115792089237316195423570985008687907853269984665640564039457584007913129639935, 115792089237316195423570985008687907853269984665640564039457584007913129639935)
...fork_Prague-blockchain_test_from_state_test-opcode_SIGNEXTEND- SIGNEXTEND (3, 4292532954)
...fork_Prague-blockchain_test_from_state_test-opcode_LT- LT (0, 1)
...fork_Prague-blockchain_test_from_state_test-opcode_GT- GT (0, 1)
...fork_Prague-blockchain_test_from_state_test-opcode_SLT- SLT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Prague-blockchain_test_from_state_test-opcode_SGT- SGT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Prague-blockchain_test_from_state_test-opcode_EQ- EQ (1, 1)
...fork_Prague-blockchain_test_from_state_test-opcode_AND- AND (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_OR- OR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_XOR- XOR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Prague-blockchain_test_from_state_test-opcode_BYTE- BYTE (31, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-blockchain_test_from_state_test-opcode_SHL- SHL (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-blockchain_test_from_state_test-opcode_SHR- SHR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Prague-blockchain_test_from_state_test-opcode_SAR- SAR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-state_test-opcode_ADD- ADD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_MUL- MUL (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_SUB- SUB (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_DIV-0 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 340282366920938463463374607431768211507)
...fork_Osaka-state_test-opcode_DIV-1 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 18446744073709551667)
...fork_Osaka-state_test-opcode_SDIV-0 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907852929702298719625575994209400481361428429)
...fork_Osaka-state_test-opcode_SDIV-1 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907853269984665640564039439137263839420088269)
...fork_Osaka-state_test-opcode_MOD- MOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_SMOD- SMOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_EXP- EXP (115792089237316195423570985008687907853269984665640564039457584007913129639935, 115792089237316195423570985008687907853269984665640564039457584007913129639935)
...fork_Osaka-state_test-opcode_SIGNEXTEND- SIGNEXTEND (3, 4292532954)
...fork_Osaka-state_test-opcode_LT- LT (0, 1)
...fork_Osaka-state_test-opcode_GT- GT (0, 1)
...fork_Osaka-state_test-opcode_SLT- SLT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Osaka-state_test-opcode_SGT- SGT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Osaka-state_test-opcode_EQ- EQ (1, 1)
...fork_Osaka-state_test-opcode_AND- AND (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_OR- OR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_XOR- XOR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-state_test-opcode_BYTE- BYTE (31, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-state_test-opcode_SHL- SHL (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-state_test-opcode_SHR- SHR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-state_test-opcode_SAR- SAR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-blockchain_test_from_state_test-opcode_ADD- ADD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_MUL- MUL (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_SUB- SUB (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_DIV-0 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 340282366920938463463374607431768211507)
...fork_Osaka-blockchain_test_from_state_test-opcode_DIV-1 DIV (115792089237316195423570985008687907853269984665640564039457584007908834671663, 18446744073709551667)
...fork_Osaka-blockchain_test_from_state_test-opcode_SDIV-0 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907852929702298719625575994209400481361428429)
...fork_Osaka-blockchain_test_from_state_test-opcode_SDIV-1 SDIV (57896044618658097711785492504343953926634992332820282019728792003952269851695, 115792089237316195423570985008687907853269984665640564039439137263839420088269)
...fork_Osaka-blockchain_test_from_state_test-opcode_MOD- MOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_SMOD- SMOD (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_EXP- EXP (115792089237316195423570985008687907853269984665640564039457584007913129639935, 115792089237316195423570985008687907853269984665640564039457584007913129639935)
...fork_Osaka-blockchain_test_from_state_test-opcode_SIGNEXTEND- SIGNEXTEND (3, 4292532954)
...fork_Osaka-blockchain_test_from_state_test-opcode_LT- LT (0, 1)
...fork_Osaka-blockchain_test_from_state_test-opcode_GT- GT (0, 1)
...fork_Osaka-blockchain_test_from_state_test-opcode_SLT- SLT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Osaka-blockchain_test_from_state_test-opcode_SGT- SGT (115792089237316195423570985008687907853269984665640564039457584007913129639935, 1)
...fork_Osaka-blockchain_test_from_state_test-opcode_EQ- EQ (1, 1)
...fork_Osaka-blockchain_test_from_state_test-opcode_AND- AND (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_OR- OR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_XOR- XOR (115792089237316195423570985008687907853269984665640564039457584007908834671663, 52435875175126190479447740508185965837690552500527637822603658699938581184513)
...fork_Osaka-blockchain_test_from_state_test-opcode_BYTE- BYTE (31, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-blockchain_test_from_state_test-opcode_SHL- SHL (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-blockchain_test_from_state_test-opcode_SHR- SHR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)
...fork_Osaka-blockchain_test_from_state_test-opcode_SAR- SAR (1, 115792089237316195423570985008687907853269984665640564039457584007908834671663)