You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2020/08/06 07:46:22 UTC

[incubator-tuweni] branch master updated: EVM reference tests

This is an automated email from the ASF dual-hosted git repository.

toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git


The following commit(s) were added to refs/heads/master by this push:
     new b1db9e8  EVM reference tests
     new 77002de  Merge pull request #140 from atoulme/evm
b1db9e8 is described below

commit b1db9e8edc46864ac6a851b5dcdea094839d7dbc
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Wed Jul 29 00:14:13 2020 -0700

    EVM reference tests
---
 build.gradle                                       |   3 +-
 dependency-versions.gradle                         |   2 +-
 .../tuweni/eth/repository/BlockchainRepository.kt  |   9 +
 .../java/org/apache/tuweni/eth/EthJsonModule.java  |  88 ++++++
 eth/src/main/java/org/apache/tuweni/eth/Log.java   |  10 +
 evm/build.gradle                                   |   5 +
 .../apache/tuweni/evm/EthereumVirtualMachine.kt    | 114 ++++++--
 .../tuweni/evm/TransactionalEVMHostContext.kt      | 107 +++++++-
 evm/src/main/resources/libevmc.dylib               | Bin 23624 -> 33487 bytes
 evm/src/main/resources/libevmc.so                  | Bin 22376 -> 22440 bytes
 .../org/apache/tuweni/evm/EVMReferenceTest.kt      | 302 +++++++++++++++++++++
 .../tuweni/evm/EthereumVirtualMachineTest.kt       |  37 ++-
 .../resources/VMTests/vmArithmeticTest/add0.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/add1.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/add2.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/add3.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/add4.json   |  51 ++++
 .../VMTests/vmArithmeticTest/addmod0.json          |  52 ++++
 .../VMTests/vmArithmeticTest/addmod1.json          |  52 ++++
 .../vmArithmeticTest/addmod1_overflow2.json        |  51 ++++
 .../vmArithmeticTest/addmod1_overflow3.json        |  52 ++++
 .../vmArithmeticTest/addmod1_overflow4.json        |  52 ++++
 .../vmArithmeticTest/addmod1_overflowDiff.json     |  52 ++++
 .../VMTests/vmArithmeticTest/addmod2.json          |  52 ++++
 .../VMTests/vmArithmeticTest/addmod2_0.json        |  51 ++++
 .../VMTests/vmArithmeticTest/addmod2_1.json        |  52 ++++
 .../VMTests/vmArithmeticTest/addmod3.json          |  52 ++++
 .../VMTests/vmArithmeticTest/addmod3_0.json        |  51 ++++
 .../VMTests/vmArithmeticTest/addmodBigIntCast.json |  52 ++++
 .../VMTests/vmArithmeticTest/addmodDivByZero.json  |  51 ++++
 .../VMTests/vmArithmeticTest/addmodDivByZero1.json |  51 ++++
 .../VMTests/vmArithmeticTest/addmodDivByZero2.json |  51 ++++
 .../VMTests/vmArithmeticTest/addmodDivByZero3.json |  52 ++++
 .../resources/VMTests/vmArithmeticTest/arith1.json |  51 ++++
 .../resources/VMTests/vmArithmeticTest/div1.json   |  51 ++++
 .../VMTests/vmArithmeticTest/divBoostBug.json      |  52 ++++
 .../VMTests/vmArithmeticTest/divByNonZero0.json    |  52 ++++
 .../VMTests/vmArithmeticTest/divByNonZero1.json    |  51 ++++
 .../VMTests/vmArithmeticTest/divByNonZero2.json    |  51 ++++
 .../VMTests/vmArithmeticTest/divByNonZero3.json    |  52 ++++
 .../VMTests/vmArithmeticTest/divByZero.json        |  51 ++++
 .../VMTests/vmArithmeticTest/divByZero_2.json      |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp0.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp1.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp2.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp3.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/exp4.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp5.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp6.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/exp7.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/exp8.json   |  52 ++++
 .../vmArithmeticTest/expPowerOf256Of256_0.json     |  60 ++++
 .../vmArithmeticTest/expPowerOf256Of256_1.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_10.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_11.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_12.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_13.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_14.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_15.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_16.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_17.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_18.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_19.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_2.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_20.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_21.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_22.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_23.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_24.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_25.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_26.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_27.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_28.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_29.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_3.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_30.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_31.json    |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_32.json    |  58 ++++
 .../vmArithmeticTest/expPowerOf256Of256_33.json    |  58 ++++
 .../vmArithmeticTest/expPowerOf256Of256_4.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_5.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_6.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_7.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_8.json     |  57 ++++
 .../vmArithmeticTest/expPowerOf256Of256_9.json     |  57 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_1.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_10.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_11.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_12.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_13.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_14.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_15.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_16.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_17.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_18.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_19.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_2.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_20.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_21.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_22.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_23.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_24.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_25.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_26.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_27.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_28.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_29.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_3.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_30.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_31.json |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_32.json |  53 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_33.json |  53 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_4.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_5.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_6.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_7.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_8.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf256_9.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_128.json  |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_16.json   |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_2.json    |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_256.json  |  52 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_32.json   |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_4.json    |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_64.json   |  54 ++++
 .../VMTests/vmArithmeticTest/expPowerOf2_8.json    |  54 ++++
 .../resources/VMTests/vmArithmeticTest/expXY.json  |  53 ++++
 .../VMTests/vmArithmeticTest/expXY_success.json    |  54 ++++
 .../vmArithmeticTest/fibbonacci_unrolled.json      |  51 ++++
 .../resources/VMTests/vmArithmeticTest/mod0.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mod1.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mod2.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/mod3.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/mod4.json   |  52 ++++
 .../VMTests/vmArithmeticTest/modByZero.json        |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mul0.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mul1.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mul2.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/mul3.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mul4.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mul5.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/mul6.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/mul7.json   |  51 ++++
 .../VMTests/vmArithmeticTest/mulUnderFlow.json     |  37 +++
 .../VMTests/vmArithmeticTest/mulmod0.json          |  51 ++++
 .../VMTests/vmArithmeticTest/mulmod1.json          |  51 ++++
 .../VMTests/vmArithmeticTest/mulmod1_overflow.json |  51 ++++
 .../vmArithmeticTest/mulmod1_overflow2.json        |  52 ++++
 .../vmArithmeticTest/mulmod1_overflow3.json        |  52 ++++
 .../vmArithmeticTest/mulmod1_overflow4.json        |  52 ++++
 .../VMTests/vmArithmeticTest/mulmod2.json          |  52 ++++
 .../VMTests/vmArithmeticTest/mulmod2_0.json        |  51 ++++
 .../VMTests/vmArithmeticTest/mulmod2_1.json        |  52 ++++
 .../VMTests/vmArithmeticTest/mulmod3.json          |  52 ++++
 .../VMTests/vmArithmeticTest/mulmod3_0.json        |  51 ++++
 .../VMTests/vmArithmeticTest/mulmod4.json          |  51 ++++
 .../VMTests/vmArithmeticTest/mulmoddivByZero.json  |  51 ++++
 .../VMTests/vmArithmeticTest/mulmoddivByZero1.json |  51 ++++
 .../VMTests/vmArithmeticTest/mulmoddivByZero2.json |  51 ++++
 .../VMTests/vmArithmeticTest/mulmoddivByZero3.json |  52 ++++
 .../resources/VMTests/vmArithmeticTest/not1.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv0.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv1.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv2.json  |  51 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv3.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv4.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv5.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv6.json  |  51 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv7.json  |  51 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv8.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sdiv9.json  |  52 ++++
 .../VMTests/vmArithmeticTest/sdivByZero0.json      |  51 ++++
 .../VMTests/vmArithmeticTest/sdivByZero1.json      |  51 ++++
 .../VMTests/vmArithmeticTest/sdivByZero2.json      |  52 ++++
 .../VMTests/vmArithmeticTest/sdiv_dejavu.json      |  52 ++++
 .../VMTests/vmArithmeticTest/sdiv_i256min.json     |  52 ++++
 .../VMTests/vmArithmeticTest/sdiv_i256min2.json    |  52 ++++
 .../VMTests/vmArithmeticTest/sdiv_i256min3.json    |  51 ++++
 .../signextendInvalidByteNumber.json               |  52 ++++
 .../VMTests/vmArithmeticTest/signextend_00.json    |  51 ++++
 .../vmArithmeticTest/signextend_0_BigByte.json     |  52 ++++
 .../signextend_AlmostBiggestByte.json              |  52 ++++
 .../signextend_BigByteBigByte.json                 |  52 ++++
 .../signextend_BigBytePlus1_2.json                 |  52 ++++
 .../vmArithmeticTest/signextend_BigByte_0.json     |  51 ++++
 .../vmArithmeticTest/signextend_BitIsNotSet.json   |  52 ++++
 .../signextend_BitIsNotSetInHigherByte.json        |  52 ++++
 .../signextend_BitIsSetInHigherByte.json           |  52 ++++
 .../vmArithmeticTest/signextend_Overflow_dj42.json |  51 ++++
 .../vmArithmeticTest/signextend_bigBytePlus1.json  |  52 ++++
 .../vmArithmeticTest/signextend_bitIsSet.json      |  52 ++++
 .../resources/VMTests/vmArithmeticTest/smod0.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/smod1.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/smod2.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/smod3.json  |  51 ++++
 .../resources/VMTests/vmArithmeticTest/smod4.json  |  51 ++++
 .../resources/VMTests/vmArithmeticTest/smod5.json  |  51 ++++
 .../resources/VMTests/vmArithmeticTest/smod6.json  |  52 ++++
 .../resources/VMTests/vmArithmeticTest/smod7.json  |  51 ++++
 .../VMTests/vmArithmeticTest/smod8_byZero.json     |  52 ++++
 .../VMTests/vmArithmeticTest/smod_i256min1.json    |  51 ++++
 .../VMTests/vmArithmeticTest/smod_i256min2.json    |  52 ++++
 .../resources/VMTests/vmArithmeticTest/stop.json   |  51 ++++
 .../resources/VMTests/vmArithmeticTest/sub0.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sub1.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sub2.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sub3.json   |  52 ++++
 .../resources/VMTests/vmArithmeticTest/sub4.json   |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/and0.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/and1.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/and2.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/and3.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/and4.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/and5.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte0.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte1.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte10.json    |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/byte11.json    |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/byte2.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte3.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte4.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte5.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte6.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte7.json     |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/byte8.json     |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/byte9.json     |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/byteBN.json    |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/eq0.json       |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/eq1.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/eq2.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/gt0.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/gt1.json       |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/gt2.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/gt3.json       |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/iszeo2.json    |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/iszero0.json   |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/iszero1.json   |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/lt0.json       |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/lt1.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/lt2.json       |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/lt3.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/not0.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/not1.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/not2.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/not3.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/not4.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/not5.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/or0.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/or1.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/or2.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/or3.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/or4.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/or5.json       |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/sgt0.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/sgt1.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/sgt2.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/sgt3.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/sgt4.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/slt0.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/slt1.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/slt2.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/slt3.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/slt4.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/xor0.json      |  51 ++++
 .../VMTests/vmBitwiseLogicOperation/xor1.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/xor2.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/xor3.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/xor4.json      |  52 ++++
 .../VMTests/vmBitwiseLogicOperation/xor5.json      |  52 ++++
 .../VMTests/vmBlockInfoTest/coinbase.json          |  52 ++++
 .../VMTests/vmBlockInfoTest/difficulty.json        |  52 ++++
 .../VMTests/vmBlockInfoTest/gaslimit.json          |  52 ++++
 .../resources/VMTests/vmBlockInfoTest/number.json  |  52 ++++
 .../VMTests/vmBlockInfoTest/timestamp.json         |  52 ++++
 .../VMTests/vmEnvironmentalInfo/address0.json      |  52 ++++
 .../VMTests/vmEnvironmentalInfo/address1.json      |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldatacopy0.json |  52 ++++
 .../vmEnvironmentalInfo/calldatacopy0_return.json  |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldatacopy1.json |  52 ++++
 .../vmEnvironmentalInfo/calldatacopy1_return.json  |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldatacopy2.json |  51 ++++
 .../vmEnvironmentalInfo/calldatacopy2_return.json  |  51 ++++
 .../vmEnvironmentalInfo/calldatacopyUnderFlow.json |  37 +++
 .../calldatacopyZeroMemExpansion.json              |  51 ++++
 .../calldatacopyZeroMemExpansion_return.json       |  51 ++++
 .../calldatacopy_DataIndexTooHigh.json             |  51 ++++
 .../calldatacopy_DataIndexTooHigh2.json            |  51 ++++
 .../calldatacopy_DataIndexTooHigh2_return.json     |  51 ++++
 .../calldatacopy_DataIndexTooHigh_return.json      |  51 ++++
 .../vmEnvironmentalInfo/calldatacopy_sec.json      |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldataload0.json |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldataload1.json |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldataload2.json |  52 ++++
 .../calldataloadSizeTooHigh.json                   |  51 ++++
 .../calldataloadSizeTooHighPartial.json            |  52 ++++
 .../calldataload_BigOffset.json                    |  51 ++++
 .../VMTests/vmEnvironmentalInfo/calldatasize0.json |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldatasize1.json |  52 ++++
 .../VMTests/vmEnvironmentalInfo/calldatasize2.json |  52 ++++
 .../VMTests/vmEnvironmentalInfo/caller.json        |  52 ++++
 .../VMTests/vmEnvironmentalInfo/callvalue.json     |  52 ++++
 .../VMTests/vmEnvironmentalInfo/codecopy0.json     |  52 ++++
 .../codecopyZeroMemExpansion.json                  |  51 ++++
 .../codecopy_DataIndexTooHigh.json                 |  51 ++++
 .../VMTests/vmEnvironmentalInfo/codesize.json      |  52 ++++
 .../VMTests/vmEnvironmentalInfo/gasprice.json      |  52 ++++
 .../VMTests/vmEnvironmentalInfo/origin.json        |  52 ++++
 .../BlockNumberDynamicJump0_AfterJumpdest.json     |  37 +++
 .../BlockNumberDynamicJump0_AfterJumpdest3.json    |  37 +++
 .../BlockNumberDynamicJump0_foreverOutOfGas.json   |  37 +++
 .../BlockNumberDynamicJump0_jumpdest0.json         |  52 ++++
 .../BlockNumberDynamicJump0_jumpdest2.json         |  52 ++++
 .../BlockNumberDynamicJump0_withoutJumpdest.json   |  37 +++
 .../BlockNumberDynamicJump1.json                   |  37 +++
 ...ockNumberDynamicJumpInsidePushWithJumpDest.json |  37 +++
 ...NumberDynamicJumpInsidePushWithoutJumpDest.json |  37 +++
 .../BlockNumberDynamicJumpi0.json                  |  37 +++
 .../BlockNumberDynamicJumpi1.json                  |  52 ++++
 .../BlockNumberDynamicJumpi1_jumpdest.json         |  37 +++
 .../BlockNumberDynamicJumpiAfterStop.json          |  52 ++++
 .../BlockNumberDynamicJumpiOutsideBoundary.json    |  37 +++
 ...kNumberDynamicJumpifInsidePushWithJumpDest.json |  37 +++
 ...mberDynamicJumpifInsidePushWithoutJumpDest.json |  37 +++
 .../DyanmicJump0_outOfBoundary.json                |  38 +++
 .../DynamicJump0_AfterJumpdest.json                |  37 +++
 .../DynamicJump0_AfterJumpdest3.json               |  37 +++
 .../DynamicJump0_foreverOutOfGas.json              |  37 +++
 .../DynamicJump0_jumpdest0.json                    |  52 ++++
 .../DynamicJump0_jumpdest2.json                    |  52 ++++
 .../DynamicJump0_withoutJumpdest.json              |  37 +++
 .../vmIOandFlowOperations/DynamicJump1.json        |  37 +++
 .../DynamicJumpAfterStop.json                      |  52 ++++
 .../DynamicJumpInsidePushWithJumpDest.json         |  37 +++
 .../DynamicJumpInsidePushWithoutJumpDest.json      |  37 +++
 .../DynamicJumpJD_DependsOnJumps0.json             |  37 +++
 .../DynamicJumpJD_DependsOnJumps1.json             |  52 ++++
 .../DynamicJumpPathologicalTest0.json              |  52 ++++
 .../DynamicJumpPathologicalTest1.json              |  37 +++
 .../DynamicJumpPathologicalTest2.json              |  37 +++
 .../DynamicJumpPathologicalTest3.json              |  37 +++
 .../DynamicJumpStartWithJumpDest.json              |  52 ++++
 .../vmIOandFlowOperations/DynamicJump_value1.json  |  51 ++++
 .../vmIOandFlowOperations/DynamicJump_value2.json  |  51 ++++
 .../vmIOandFlowOperations/DynamicJump_value3.json  |  51 ++++
 .../DynamicJump_valueUnderflow.json                |  37 +++
 .../vmIOandFlowOperations/DynamicJumpi0.json       |  37 +++
 .../vmIOandFlowOperations/DynamicJumpi1.json       |  52 ++++
 .../DynamicJumpi1_jumpdest.json                    |  37 +++
 .../DynamicJumpiAfterStop.json                     |  52 ++++
 .../DynamicJumpiOutsideBoundary.json               |  37 +++
 .../DynamicJumpifInsidePushWithJumpDest.json       |  37 +++
 .../DynamicJumpifInsidePushWithoutJumpDest.json    |  37 +++
 .../JDfromStorageDynamicJump0_AfterJumpdest.json   |  38 +++
 .../JDfromStorageDynamicJump0_AfterJumpdest3.json  |  38 +++
 .../JDfromStorageDynamicJump0_foreverOutOfGas.json |  38 +++
 .../JDfromStorageDynamicJump0_jumpdest0.json       |  54 ++++
 .../JDfromStorageDynamicJump0_jumpdest2.json       |  54 ++++
 .../JDfromStorageDynamicJump0_withoutJumpdest.json |  38 +++
 .../JDfromStorageDynamicJump1.json                 |  38 +++
 ...omStorageDynamicJumpInsidePushWithJumpDest.json |  38 +++
 ...torageDynamicJumpInsidePushWithoutJumpDest.json |  38 +++
 .../JDfromStorageDynamicJumpi0.json                |  38 +++
 .../JDfromStorageDynamicJumpi1.json                |  54 ++++
 .../JDfromStorageDynamicJumpi1_jumpdest.json       |  38 +++
 .../JDfromStorageDynamicJumpiAfterStop.json        |  54 ++++
 .../JDfromStorageDynamicJumpiOutsideBoundary.json  |  38 +++
 ...StorageDynamicJumpifInsidePushWithJumpDest.json |  38 +++
 ...rageDynamicJumpifInsidePushWithoutJumpDest.json |  38 +++
 .../vmIOandFlowOperations/bad_indirect_jump1.json  |  37 +++
 .../vmIOandFlowOperations/bad_indirect_jump2.json  |  37 +++
 .../VMTests/vmIOandFlowOperations/byte1.json       |  51 ++++
 .../vmIOandFlowOperations/calldatacopyMemExp.json  |  37 +++
 .../vmIOandFlowOperations/codecopyMemExp.json      |  37 +++
 .../VMTests/vmIOandFlowOperations/deadCode_1.json  |  51 ++++
 .../vmIOandFlowOperations/dupAt51becameMload.json  |  52 ++++
 .../VMTests/vmIOandFlowOperations/for_loop1.json   |  51 ++++
 .../VMTests/vmIOandFlowOperations/for_loop2.json   |  51 ++++
 .../VMTests/vmIOandFlowOperations/gas0.json        |  52 ++++
 .../VMTests/vmIOandFlowOperations/gas1.json        |  52 ++++
 .../VMTests/vmIOandFlowOperations/gasOverFlow.json |  37 +++
 .../vmIOandFlowOperations/indirect_jump1.json      |  51 ++++
 .../vmIOandFlowOperations/indirect_jump2.json      |  51 ++++
 .../vmIOandFlowOperations/indirect_jump3.json      |  51 ++++
 .../vmIOandFlowOperations/indirect_jump4.json      |  51 ++++
 .../vmIOandFlowOperations/jump0_AfterJumpdest.json |  37 +++
 .../jump0_AfterJumpdest3.json                      |  37 +++
 .../jump0_foreverOutOfGas.json                     |  37 +++
 .../vmIOandFlowOperations/jump0_jumpdest0.json     |  52 ++++
 .../vmIOandFlowOperations/jump0_jumpdest2.json     |  52 ++++
 .../vmIOandFlowOperations/jump0_outOfBoundary.json |  37 +++
 .../jump0_withoutJumpdest.json                     |  37 +++
 .../VMTests/vmIOandFlowOperations/jump1.json       |  37 +++
 .../vmIOandFlowOperations/jumpAfterStop.json       |  52 ++++
 .../jumpDynamicJumpSameDest.json                   |  51 ++++
 .../VMTests/vmIOandFlowOperations/jumpHigh.json    |  37 +++
 .../jumpInsidePushWithJumpDest.json                |  37 +++
 .../jumpInsidePushWithoutJumpDest.json             |  37 +++
 .../vmIOandFlowOperations/jumpOntoJump.json        |  37 +++
 .../jumpTo1InstructionafterJump.json               |  52 ++++
 ...tructionafterJump_jumpdestFirstInstruction.json |  37 +++
 .../jumpTo1InstructionafterJump_noJumpDest.json    |  37 +++
 .../jumpToUint64maxPlus1.json                      |  37 +++
 .../vmIOandFlowOperations/jumpToUintmaxPlus1.json  |  37 +++
 .../vmIOandFlowOperations/jumpdestBigList.json     |  51 ++++
 .../VMTests/vmIOandFlowOperations/jumpi0.json      |  37 +++
 .../VMTests/vmIOandFlowOperations/jumpi1.json      |  52 ++++
 .../vmIOandFlowOperations/jumpi1_jumpdest.json     |  37 +++
 .../vmIOandFlowOperations/jumpiAfterStop.json      |  52 ++++
 .../jumpiOutsideBoundary.json                      |  37 +++
 .../jumpiToUint64maxPlus1.json                     |  37 +++
 .../vmIOandFlowOperations/jumpiToUintmaxPlus1.json |  37 +++
 .../vmIOandFlowOperations/jumpi_at_the_end.json    |  51 ++++
 .../jumpifInsidePushWithJumpDest.json              |  37 +++
 .../jumpifInsidePushWithoutJumpDest.json           |  37 +++
 .../VMTests/vmIOandFlowOperations/kv1.json         |  52 ++++
 .../VMTests/vmIOandFlowOperations/log1MemExp.json  |  37 +++
 .../loop_stacklimit_1020.json                      |  51 ++++
 .../loop_stacklimit_1021.json                      |  37 +++
 .../VMTests/vmIOandFlowOperations/memory1.json     |  51 ++++
 .../VMTests/vmIOandFlowOperations/mloadError0.json |  51 ++++
 .../VMTests/vmIOandFlowOperations/mloadError1.json |  51 ++++
 .../VMTests/vmIOandFlowOperations/mloadMemExp.json |  37 +++
 .../vmIOandFlowOperations/mloadOutOfGasError2.json |  37 +++
 .../VMTests/vmIOandFlowOperations/msize0.json      |  52 ++++
 .../VMTests/vmIOandFlowOperations/msize1.json      |  52 ++++
 .../VMTests/vmIOandFlowOperations/msize2.json      |  52 ++++
 .../VMTests/vmIOandFlowOperations/msize3.json      |  52 ++++
 .../VMTests/vmIOandFlowOperations/mstore0.json     |  52 ++++
 .../VMTests/vmIOandFlowOperations/mstore1.json     |  52 ++++
 .../vmIOandFlowOperations/mstore8MemExp.json       |  37 +++
 .../mstore8WordToBigError.json                     |  52 ++++
 .../VMTests/vmIOandFlowOperations/mstore8_0.json   |  52 ++++
 .../VMTests/vmIOandFlowOperations/mstore8_1.json   |  52 ++++
 .../vmIOandFlowOperations/mstoreMemExp.json        |  37 +++
 .../mstoreWordToBigError.json                      |  52 ++++
 .../vmIOandFlowOperations/mstore_mload0.json       |  52 ++++
 .../VMTests/vmIOandFlowOperations/pc0.json         |  51 ++++
 .../VMTests/vmIOandFlowOperations/pc1.json         |  52 ++++
 .../VMTests/vmIOandFlowOperations/pop0.json        |  52 ++++
 .../VMTests/vmIOandFlowOperations/pop1.json        |  37 +++
 .../VMTests/vmIOandFlowOperations/return1.json     |  37 +++
 .../VMTests/vmIOandFlowOperations/return2.json     |  51 ++++
 .../VMTests/vmIOandFlowOperations/sha3MemExp.json  |  37 +++
 .../vmIOandFlowOperations/sstore_load_0.json       |  54 ++++
 .../vmIOandFlowOperations/sstore_load_1.json       |  53 ++++
 .../vmIOandFlowOperations/sstore_load_2.json       |  56 ++++
 .../vmIOandFlowOperations/sstore_underflow.json    |  37 +++
 .../VMTests/vmIOandFlowOperations/stack_loop.json  |  37 +++
 .../VMTests/vmIOandFlowOperations/stackjump1.json  |  51 ++++
 .../swapAt52becameMstore.json                      |  37 +++
 .../VMTests/vmIOandFlowOperations/when.json        |  51 ++++
 .../resources/VMTests/vmLogTest/log0_emptyMem.json |  51 ++++
 .../VMTests/vmLogTest/log0_logMemStartTooHigh.json |  37 +++
 .../VMTests/vmLogTest/log0_logMemsizeTooHigh.json  |  37 +++
 .../VMTests/vmLogTest/log0_logMemsizeZero.json     |  51 ++++
 .../VMTests/vmLogTest/log0_nonEmptyMem.json        |  51 ++++
 .../vmLogTest/log0_nonEmptyMem_logMemSize1.json    |  51 ++++
 ...log0_nonEmptyMem_logMemSize1_logMemStart31.json |  51 ++++
 .../resources/VMTests/vmLogTest/log1_Caller.json   |  51 ++++
 .../resources/VMTests/vmLogTest/log1_MaxTopic.json |  51 ++++
 .../resources/VMTests/vmLogTest/log1_emptyMem.json |  51 ++++
 .../VMTests/vmLogTest/log1_logMemStartTooHigh.json |  37 +++
 .../VMTests/vmLogTest/log1_logMemsizeTooHigh.json  |  37 +++
 .../VMTests/vmLogTest/log1_logMemsizeZero.json     |  51 ++++
 .../VMTests/vmLogTest/log1_nonEmptyMem.json        |  51 ++++
 .../vmLogTest/log1_nonEmptyMem_logMemSize1.json    |  51 ++++
 ...log1_nonEmptyMem_logMemSize1_logMemStart31.json |  51 ++++
 .../resources/VMTests/vmLogTest/log2_Caller.json   |  51 ++++
 .../resources/VMTests/vmLogTest/log2_MaxTopic.json |  51 ++++
 .../resources/VMTests/vmLogTest/log2_emptyMem.json |  51 ++++
 .../VMTests/vmLogTest/log2_logMemStartTooHigh.json |  37 +++
 .../VMTests/vmLogTest/log2_logMemsizeTooHigh.json  |  37 +++
 .../VMTests/vmLogTest/log2_logMemsizeZero.json     |  51 ++++
 .../VMTests/vmLogTest/log2_nonEmptyMem.json        |  51 ++++
 .../vmLogTest/log2_nonEmptyMem_logMemSize1.json    |  51 ++++
 ...log2_nonEmptyMem_logMemSize1_logMemStart31.json |  51 ++++
 .../resources/VMTests/vmLogTest/log3_Caller.json   |  51 ++++
 .../resources/VMTests/vmLogTest/log3_MaxTopic.json |  51 ++++
 .../test/resources/VMTests/vmLogTest/log3_PC.json  |  51 ++++
 .../resources/VMTests/vmLogTest/log3_emptyMem.json |  51 ++++
 .../VMTests/vmLogTest/log3_logMemStartTooHigh.json |  37 +++
 .../VMTests/vmLogTest/log3_logMemsizeTooHigh.json  |  37 +++
 .../VMTests/vmLogTest/log3_logMemsizeZero.json     |  51 ++++
 .../VMTests/vmLogTest/log3_nonEmptyMem.json        |  51 ++++
 .../vmLogTest/log3_nonEmptyMem_logMemSize1.json    |  51 ++++
 ...log3_nonEmptyMem_logMemSize1_logMemStart31.json |  51 ++++
 .../resources/VMTests/vmLogTest/log4_Caller.json   |  51 ++++
 .../resources/VMTests/vmLogTest/log4_MaxTopic.json |  51 ++++
 .../test/resources/VMTests/vmLogTest/log4_PC.json  |  51 ++++
 .../resources/VMTests/vmLogTest/log4_emptyMem.json |  51 ++++
 .../VMTests/vmLogTest/log4_logMemStartTooHigh.json |  37 +++
 .../VMTests/vmLogTest/log4_logMemsizeTooHigh.json  |  37 +++
 .../VMTests/vmLogTest/log4_logMemsizeZero.json     |  51 ++++
 .../VMTests/vmLogTest/log4_nonEmptyMem.json        |  51 ++++
 .../vmLogTest/log4_nonEmptyMem_logMemSize1.json    |  51 ++++
 ...log4_nonEmptyMem_logMemSize1_logMemStart31.json |  51 ++++
 .../resources/VMTests/vmLogTest/log_2logs.json     |  51 ++++
 .../VMTests/vmPerformance/ackermann31.json         |  51 ++++
 .../VMTests/vmPerformance/ackermann32.json         |  51 ++++
 .../VMTests/vmPerformance/ackermann33.json         |  37 +++
 .../VMTests/vmPerformance/fibonacci10.json         |  51 ++++
 .../VMTests/vmPerformance/fibonacci16.json         |  51 ++++
 .../VMTests/vmPerformance/loop-add-10M.json        |  51 ++++
 .../VMTests/vmPerformance/loop-divadd-10M.json     |  51 ++++
 .../vmPerformance/loop-divadd-unr100-10M.json      |  51 ++++
 .../VMTests/vmPerformance/loop-exp-16b-100k.json   |  51 ++++
 .../VMTests/vmPerformance/loop-exp-1b-1M.json      |  51 ++++
 .../VMTests/vmPerformance/loop-exp-2b-100k.json    |  51 ++++
 .../VMTests/vmPerformance/loop-exp-32b-100k.json   |  51 ++++
 .../VMTests/vmPerformance/loop-exp-4b-100k.json    |  51 ++++
 .../VMTests/vmPerformance/loop-exp-8b-100k.json    |  51 ++++
 .../VMTests/vmPerformance/loop-exp-nop-1M.json     |  51 ++++
 .../resources/VMTests/vmPerformance/loop-mul.json  |  51 ++++
 .../VMTests/vmPerformance/loop-mulmod-2M.json      |  51 ++++
 .../VMTests/vmPerformance/manyFunctions100.json    |  51 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup1.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup10.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup11.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup12.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup13.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup14.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup15.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup16.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup2.json  |  52 ++++
 .../VMTests/vmPushDupSwapTest/dup2error.json       |  37 +++
 .../resources/VMTests/vmPushDupSwapTest/dup3.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup4.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup5.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup6.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup7.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup8.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/dup9.json  |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push1.json |  52 ++++
 .../VMTests/vmPushDupSwapTest/push10.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push11.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push12.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push13.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push14.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push15.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push16.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push17.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push18.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push19.json          |  52 ++++
 .../vmPushDupSwapTest/push1_missingStack.json      |  51 ++++
 .../resources/VMTests/vmPushDupSwapTest/push2.json |  52 ++++
 .../VMTests/vmPushDupSwapTest/push20.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push21.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push22.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push23.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push24.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push25.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push26.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push27.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push28.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push29.json          |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push3.json |  52 ++++
 .../VMTests/vmPushDupSwapTest/push30.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push31.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/push32.json          |  52 ++++
 .../vmPushDupSwapTest/push32AndSuicide.json        |  51 ++++
 .../push32FillUpInputWithZerosAtTheEnd.json        |  51 ++++
 .../VMTests/vmPushDupSwapTest/push32Undefined.json |  51 ++++
 .../vmPushDupSwapTest/push32Undefined2.json        |  52 ++++
 .../vmPushDupSwapTest/push32Undefined3.json        |  51 ++++
 .../VMTests/vmPushDupSwapTest/push33.json          |  51 ++++
 .../resources/VMTests/vmPushDupSwapTest/push4.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push5.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push6.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push7.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push8.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/push9.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap1.json |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap10.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap11.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap12.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap13.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap14.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap15.json          |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap16.json          |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap2.json |  52 ++++
 .../VMTests/vmPushDupSwapTest/swap2error.json      |  37 +++
 .../resources/VMTests/vmPushDupSwapTest/swap3.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap4.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap5.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap6.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap7.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap8.json |  52 ++++
 .../resources/VMTests/vmPushDupSwapTest/swap9.json |  52 ++++
 .../VMTests/vmPushDupSwapTest/swapjump1.json       |  51 ++++
 .../VMTests/vmRandomTest/201503102320PYTHON.json   |  37 +++
 .../VMTests/vmRandomTest/201503110206PYTHON.json   |  37 +++
 .../VMTests/vmRandomTest/201503110219PYTHON.json   |  37 +++
 .../vmRandomTest/201503110346PYTHON_PUSH24.json    |  51 ++++
 .../VMTests/vmRandomTest/201503111844PYTHON.json   |  51 ++++
 .../VMTests/vmRandomTest/201503112218PYTHON.json   |  37 +++
 .../test/resources/VMTests/vmSha3Test/sha3_0.json  |  52 ++++
 .../test/resources/VMTests/vmSha3Test/sha3_1.json  |  52 ++++
 .../test/resources/VMTests/vmSha3Test/sha3_2.json  |  52 ++++
 .../test/resources/VMTests/vmSha3Test/sha3_3.json  |  37 +++
 .../test/resources/VMTests/vmSha3Test/sha3_4.json  |  37 +++
 .../test/resources/VMTests/vmSha3Test/sha3_5.json  |  37 +++
 .../test/resources/VMTests/vmSha3Test/sha3_6.json  |  37 +++
 .../VMTests/vmSha3Test/sha3_bigOffset.json         |  37 +++
 .../VMTests/vmSha3Test/sha3_bigOffset2.json        |  52 ++++
 .../resources/VMTests/vmSha3Test/sha3_bigSize.json |  37 +++
 .../vmSha3Test/sha3_memSizeNoQuadraticCost31.json  |  52 ++++
 .../vmSha3Test/sha3_memSizeQuadraticCost32.json    |  52 ++++
 .../sha3_memSizeQuadraticCost32_zeroSize.json      |  52 ++++
 .../vmSha3Test/sha3_memSizeQuadraticCost33.json    |  52 ++++
 .../vmSha3Test/sha3_memSizeQuadraticCost63.json    |  52 ++++
 .../vmSha3Test/sha3_memSizeQuadraticCost64.json    |  52 ++++
 .../vmSha3Test/sha3_memSizeQuadraticCost64_2.json  |  52 ++++
 .../vmSha3Test/sha3_memSizeQuadraticCost65.json    |  52 ++++
 .../vmSystemOperations/TestNameRegistrator.json    |  52 ++++
 .../VMTests/vmSystemOperations/return0.json        |  52 ++++
 .../VMTests/vmSystemOperations/return1.json        |  52 ++++
 .../VMTests/vmSystemOperations/return2.json        |  52 ++++
 .../VMTests/vmSystemOperations/suicide0.json       |  58 ++++
 .../suicideNotExistingAccount.json                 |  65 +++++
 .../vmSystemOperations/suicideSendEtherToMe.json   |  58 ++++
 .../test/resources/VMTests/vmTests/suicide.json    |  51 ++++
 gradle/check-licenses.gradle                       |   1 +
 622 files changed, 30871 insertions(+), 46 deletions(-)

diff --git a/build.gradle b/build.gradle
index 8fe2f72..f511bf7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -119,7 +119,8 @@ if (file('.git').exists()) {
         'eth/src/test/resources/missing-difficulty.json',
         'eth/src/test/resources/missing-nonce.json',
         'eth/src/test/resources/valid-genesis.json',
-        'eth-client-app/src/main/resources/tuweni.txt'
+        'eth-client-app/src/main/resources/tuweni.txt',
+        'evm/src/test/resources/VMTests/**'
       ])
       return list
     }
diff --git a/dependency-versions.gradle b/dependency-versions.gradle
index 99d3022..b7c9923 100644
--- a/dependency-versions.gradle
+++ b/dependency-versions.gradle
@@ -48,7 +48,7 @@ dependencyManagement {
       entry 'jetty-servlet'
       entry 'jetty-util'
     }
-    dependency('org.ethereum:evmc:7.4.0')
+    dependency('org.ethereum:evmc:7.4.0.3')
     dependencySet(group: 'org.glassfish.jersey.core', version: '2.31') {
       entry 'jersey-server'
       entry 'jersey-client'
diff --git a/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt b/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt
index 60b0494..9a40ffb 100644
--- a/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt
+++ b/eth-repository/src/main/kotlin/org/apache/tuweni/eth/repository/BlockchainRepository.kt
@@ -425,4 +425,13 @@ class BlockchainRepository
     transactionStore.close()
     transactionReceiptStore.close()
   }
+
+  /**
+   * Stores account code in world state
+   *
+   * @param code the code to store
+   */
+  suspend fun storeCode(code: Bytes) {
+    stateStore.put(Hash.hash(code), code)
+  }
 }
diff --git a/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java b/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java
index 6b0cf39..9632e00 100644
--- a/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java
+++ b/eth/src/main/java/org/apache/tuweni/eth/EthJsonModule.java
@@ -15,12 +15,17 @@ package org.apache.tuweni.eth;
 import org.apache.tuweni.bytes.Bytes;
 import org.apache.tuweni.units.bigints.UInt256;
 import org.apache.tuweni.units.ethereum.Gas;
+import org.apache.tuweni.units.ethereum.Wei;
 
 import java.io.IOException;
 import java.time.Instant;
 
 import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.KeyDeserializer;
 import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
 import com.fasterxml.jackson.databind.module.SimpleModule;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
 
@@ -98,6 +103,82 @@ public class EthJsonModule extends SimpleModule {
     }
   }
 
+  static class AddressDeserializer extends StdDeserializer<Address> {
+
+    AddressDeserializer() {
+      super(Address.class);
+    }
+
+    @Override
+    public Address deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+      return Address.fromHexString(p.getValueAsString());
+    }
+  }
+
+  static class GasDeserializer extends StdDeserializer<Gas> {
+
+    GasDeserializer() {
+      super(Gas.class);
+    }
+
+    @Override
+    public Gas deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+      return Gas.valueOf(UInt256.fromHexString(p.getValueAsString()));
+    }
+  }
+
+  static class WeiDeserializer extends StdDeserializer<Wei> {
+
+    WeiDeserializer() {
+      super(Wei.class);
+    }
+
+    @Override
+    public Wei deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+      return Wei.valueOf(UInt256.fromHexString(p.getValueAsString()));
+    }
+  }
+
+  static class BytesDeserializer extends StdDeserializer<Bytes> {
+
+    BytesDeserializer() {
+      super(Bytes.class);
+    }
+
+    @Override
+    public Bytes deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+      return Bytes.fromHexString(p.getValueAsString());
+    }
+  }
+
+  static class UInt256Deserializer extends StdDeserializer<UInt256> {
+
+    UInt256Deserializer() {
+      super(UInt256.class);
+    }
+
+    @Override
+    public UInt256 deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+      return UInt256.fromHexString(p.getValueAsString());
+    }
+  }
+
+  static class AddressKeyDeserializer extends KeyDeserializer {
+
+    @Override
+    public Address deserializeKey(String key, DeserializationContext ctxt) throws IOException {
+      return Address.fromHexString(key);
+    }
+  }
+
+  static class BytesKeyDeserializer extends KeyDeserializer {
+
+    @Override
+    public Bytes deserializeKey(String key, DeserializationContext ctxt) throws IOException {
+      return Bytes.fromHexString(key);
+    }
+  }
+
   public EthJsonModule() {
     addSerializer(Hash.class, new HashSerializer());
     addSerializer(Address.class, new AddressSerializer());
@@ -105,5 +186,12 @@ public class EthJsonModule extends SimpleModule {
     addSerializer(Gas.class, new GasSerializer());
     addSerializer(UInt256.class, new UInt256Serializer());
     addSerializer(Instant.class, new InstantSerializer());
+    addKeyDeserializer(Bytes.class, new BytesKeyDeserializer());
+    addKeyDeserializer(Address.class, new AddressKeyDeserializer());
+    addDeserializer(Address.class, new AddressDeserializer());
+    addDeserializer(Gas.class, new GasDeserializer());
+    addDeserializer(Wei.class, new WeiDeserializer());
+    addDeserializer(UInt256.class, new UInt256Deserializer());
+    addDeserializer(Bytes.class, new BytesDeserializer());
   }
 }
diff --git a/eth/src/main/java/org/apache/tuweni/eth/Log.java b/eth/src/main/java/org/apache/tuweni/eth/Log.java
index 7eedad0..5f4ca68 100644
--- a/eth/src/main/java/org/apache/tuweni/eth/Log.java
+++ b/eth/src/main/java/org/apache/tuweni/eth/Log.java
@@ -14,6 +14,7 @@ package org.apache.tuweni.eth;
 
 import org.apache.tuweni.bytes.Bytes;
 import org.apache.tuweni.bytes.Bytes32;
+import org.apache.tuweni.rlp.RLP;
 import org.apache.tuweni.rlp.RLPReader;
 import org.apache.tuweni.rlp.RLPWriter;
 
@@ -74,6 +75,15 @@ public final class Log {
   }
 
   /**
+   * Encodes log to RLP.
+   *
+   * @return the log as RLP encoded
+   */
+  public Bytes toBytes() {
+    return RLP.encode(this::writeTo);
+  }
+
+  /**
    *
    * @return the address of the contract that produced this log.
    */
diff --git a/evm/build.gradle b/evm/build.gradle
index c065d8f..05ea833 100644
--- a/evm/build.gradle
+++ b/evm/build.gradle
@@ -19,18 +19,23 @@ dependencies {
   implementation project(':concurrent-coroutines')
   implementation project(':eth')
   implementation project(':eth-repository')
+  implementation project(':merkle-trie')
   implementation project(':units')
   implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core'
   implementation 'org.apache.lucene:lucene-core'
   implementation 'org.jetbrains.kotlin:kotlin-stdlib'
   implementation 'org.slf4j:slf4j-api'
   implementation 'org.ethereum:evmc'
+  implementation 'io.vertx:vertx-core'
 
+  testImplementation project(':io')
+  testImplementation project(':merkle-trie')
   testImplementation project(':junit')
   testImplementation project(':kv')
   testImplementation 'org.bouncycastle:bcprov-jdk15on'
   testImplementation 'org.junit.jupiter:junit-jupiter-api'
   testImplementation 'org.junit.jupiter:junit-jupiter-params'
+  testImplementation 'com.fasterxml.jackson.core:jackson-databind'
 
   testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
   testRuntimeOnly 'ch.qos.logback:logback-classic'
diff --git a/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt b/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt
index 0c4104a..938f7b6 100644
--- a/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt
+++ b/evm/src/main/kotlin/org/apache/tuweni/evm/EthereumVirtualMachine.kt
@@ -20,8 +20,11 @@ import org.apache.tuweni.bytes.Bytes
 import org.apache.tuweni.bytes.Bytes32
 import org.apache.tuweni.eth.Address
 import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.units.bigints.UInt256
 import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
 import org.ethereum.evmc.EvmcVm
+import org.ethereum.evmc.HostContext
 import org.slf4j.LoggerFactory
 import java.nio.ByteBuffer
 import java.nio.ByteOrder
@@ -104,6 +107,9 @@ data class EVMResult(
       return EVMResult(fromCode(bytes.getInt(0)), bytes.getLong(8), hostContext)
     }
   }
+
+  fun toBytes() =
+    Bytes32.rightPad(Bytes.concatenate(Bytes.ofUnsignedInt(statusCode.number.toLong()), Bytes.ofUnsignedLong(gasLeft)))
 }
 
 /**
@@ -116,7 +122,8 @@ internal data class EVMMessage(
   val gas: Gas,
   val destination: Address,
   val sender: Address,
-  val inputData: Bytes,
+  val inputData: Long,
+  val inputDataSize: Int,
   val value: Bytes,
   val createSalt: Bytes32 = Bytes32.ZERO
 ) {
@@ -127,31 +134,34 @@ internal data class EVMMessage(
         message.getInt(0),
         message.getInt(4),
         message.getInt(8),
-        Gas.valueOf(message.getLong(12)),
-        Address.fromBytes(message.slice(20, 20)),
-        Address.fromBytes(message.slice(40, 20)),
-        message.slice(60, 8),
+        Gas.valueOf(message.getLong(16)),
+        Address.fromBytes(message.slice(24, 20)),
+        Address.fromBytes(message.slice(44, 20)),
+        message.getLong(64),
+        message.getInt(72),
         message.slice(76, 32),
-        message.slice(108, 32) as Bytes32
+        Bytes32.wrap(message.slice(108, 32))
       )
     }
   }
 
   fun toByteBuffer(): ByteBuffer {
-    return ByteBuffer.allocateDirect(4 + 4 + 4 + 4 + 8 + 20 + 20 + inputData.size() +
-      8 + value.size() + createSalt.size())
-      .order(ByteOrder.nativeOrder())
+
+    return ByteBuffer.allocateDirect(
+      4 + 4 + 4 + 4 + 8 + 20 + 20 + 8 +
+        4 + 32 + 32
+    ).order(ByteOrder.nativeOrder())
       .putInt(kind)
       .putInt(flags)
       .putInt(depth)
-      .put(ByteArray(4))
+      .putInt(0) // padding?
       .putLong(gas.toLong())
-      .put(destination.toArray())
-      .put(sender.toArray())
-      .put(inputData.toArray())
-      .putLong(inputData.size().toLong())
-      .put(value.toArray())
-      .put(createSalt.toArray())
+      .put(destination.toArrayUnsafe())
+      .put(sender.toArrayUnsafe())
+      .putLong(inputData)
+      .putInt(inputDataSize)
+      .put(Bytes32.leftPad(value).toArrayUnsafe())
+      .put(createSalt.toArrayUnsafe())
   }
 }
 
@@ -209,6 +219,12 @@ class EthereumVirtualMachine(
    * @param code the code to execute
    * @param inputData the execution input
    * @param gas the gas available for the operation
+   * @param gasPrice current gas price
+   * @param currentCoinbase the coinbase address to reward
+   * @param currentNumber current block number
+   * @param currentTimestamp current block timestamp
+   * @param currentGasLimit current gas limit
+   * @param currentDifficulty block current total difficulty
    * @param callKind the type of call
    * @param revision the hard fork revision in which to execute
    * @return the result of the execution
@@ -220,11 +236,69 @@ class EthereumVirtualMachine(
     code: Bytes,
     inputData: Bytes,
     gas: Gas,
+    gasPrice: Wei,
+    currentCoinbase: Address,
+    currentNumber: Long,
+    currentTimestamp: Long,
+    currentGasLimit: Long,
+    currentDifficulty: UInt256,
     callKind: CallKind = CallKind.EVMC_CALL,
-    revision: HardFork = HardFork.EVMC_MAX_REVISION
+    revision: HardFork = HardFork.EVMC_MAX_REVISION,
+    depth: Int = 0
   ): EVMResult {
-    val hostContext = TransactionalEVMHostContext(repository)
-    val msg = EVMMessage(callKind.number, 0, 0, gas, destination, sender, inputData, value).toByteBuffer()
+    val hostContext = TransactionalEVMHostContext(
+      repository,
+      this,
+      depth,
+      sender,
+      destination,
+      value,
+      code,
+      gas,
+      gasPrice,
+      currentCoinbase,
+      currentNumber,
+      currentTimestamp,
+      currentGasLimit,
+      currentDifficulty
+    )
+    val inputDataBuffer = ByteBuffer.allocateDirect(inputData.size()).put(inputData.toArrayUnsafe())
+    val result =
+      executeInternal(
+        sender,
+        destination,
+        value,
+        code,
+        vm().address(inputDataBuffer),
+        inputData.size(),
+        gas,
+        callKind,
+        revision,
+        depth,
+        hostContext
+      )
+
+    return EVMResult.fromBytes(Bytes.wrapByteBuffer(result), hostContext)
+  }
+
+  internal fun executeInternal(
+    sender: Address,
+    destination: Address,
+    value: Bytes,
+    code: Bytes,
+    inputData: Long,
+    inputDataSize: Int,
+    gas: Gas,
+    callKind: CallKind = CallKind.EVMC_CALL,
+    revision: HardFork = HardFork.EVMC_MAX_REVISION,
+    depth: Int = 0,
+    hostContext: HostContext
+  ): ByteBuffer {
+    val msg =
+      EVMMessage(
+        callKind.number, 0, depth, gas, destination, sender, inputData,
+        inputDataSize, value
+      ).toByteBuffer()
 
     val result = vm().execute(
       hostContext,
@@ -233,7 +307,7 @@ class EthereumVirtualMachine(
       ByteBuffer.allocateDirect(code.size()).put(code.toArrayUnsafe()),
       code.size()
     ).order(ByteOrder.nativeOrder())
-    return EVMResult.fromBytes(Bytes.wrapByteBuffer(result), hostContext)
+    return result
   }
 
   /**
diff --git a/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt b/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt
index 5063ad2..10716d1 100644
--- a/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt
+++ b/evm/src/main/kotlin/org/apache/tuweni/evm/TransactionalEVMHostContext.kt
@@ -19,23 +19,48 @@ package org.apache.tuweni.evm
 import kotlinx.coroutines.runBlocking
 import org.apache.tuweni.bytes.Bytes
 import org.apache.tuweni.bytes.Bytes32
+import org.apache.tuweni.eth.AccountState
 import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.Log
 import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.trie.MerklePatriciaTrie
 import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
 import org.ethereum.evmc.HostContext
 import org.slf4j.LoggerFactory
 import java.nio.ByteBuffer
+import java.nio.ByteOrder
 
 /**
  * EVM context that records changes to the world state, so they can be applied atomically.
  */
-class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostContext {
+class TransactionalEVMHostContext(
+  val repository: BlockchainRepository,
+  val ethereumVirtualMachine: EthereumVirtualMachine,
+  val depth: Int,
+  val sender: Address,
+  val destination: Address,
+  val value: Bytes,
+  val code: Bytes,
+  val gas: Gas,
+  val gasPrice: Wei,
+  val currentCoinbase: Address,
+  val currentNumber: Long,
+  val currentTimestamp: Long,
+  val currentGasLimit: Long,
+  val currentDifficulty: UInt256
+) : HostContext {
 
   companion object {
     private val logger = LoggerFactory.getLogger(TransactionalEVMHostContext::class.java)
   }
 
-  private val accountChanges = HashMap<Address, HashMap<Bytes, Bytes>>()
+  val accountChanges = HashMap<Address, HashMap<Bytes, Bytes>>()
+  val logs = mutableListOf<Log>()
+  val accountsToDestroy = mutableListOf<Address>()
+  val balanceChanges = HashMap<Address, Wei>()
   /**
    * Check account existence function.
    *
@@ -66,10 +91,10 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
     logger.trace("Entering getStorage")
     val address = Address.fromBytes(Bytes.wrap(addressBytes))
     val key = Bytes32.wrap(keyBytes)
-    val value = accountChanges[address]?.get(key) ?: repository.getAccountStoreValue(address, key)
+    val value = accountChanges[address]?.get(key)
     logger.info("Found value $value")
     return@runBlocking if (value == null) {
-      ByteBuffer.allocateDirect(64).put(ByteArray(64))
+      ByteBuffer.allocateDirect(32).put(ByteArray(32))
     } else {
       ByteBuffer.allocateDirect(value.size()).put(value.toArrayUnsafe())
     }
@@ -107,7 +132,8 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
     var newAccount = false
     accountChanges.computeIfAbsent(address) {
       newAccount = true
-      HashMap() }
+      HashMap()
+    }
     val map = accountChanges[address]!!
     val oldValue = map.get(key)
     val storageAdded = newAccount || oldValue == null
@@ -139,10 +165,21 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
    * @param address The address of the account.
    * @return The balance of the given account or 0 if the account does not exist.
    */
-  override fun getBalance(address: ByteArray): ByteBuffer = runBlocking {
+  override fun getBalance(addressBytes: ByteArray): ByteBuffer = runBlocking {
     logger.trace("Entering getBalance")
-    val account = repository.getAccount(Address.fromBytes(Bytes.wrap(address)))
-    account?.let { ByteBuffer.wrap(it.balance.toBytes().toArrayUnsafe()) } ?: ByteBuffer.wrap(ByteArray(0))
+    val response = ByteBuffer.allocateDirect(32)
+
+    val address = Address.fromBytes(Bytes.wrap(addressBytes))
+    val balance = balanceChanges[address]
+    balance?.let {
+      return@runBlocking response.put(it.toBytes().toArrayUnsafe())
+    }
+    val account = repository.getAccount(address)
+    account?.let {
+      response.put(account.balance.toBytes().toArrayUnsafe())
+    }
+
+    response
   }
 
   /**
@@ -175,7 +212,10 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
   override fun getCodeHash(address: ByteArray): ByteBuffer = runBlocking {
     logger.trace("Entering getCodeHash")
     val account = repository.getAccount(Address.fromBytes(Bytes.wrap(address)))
-    account?.let { ByteBuffer.wrap(it.codeHash.toArrayUnsafe()) } ?: ByteBuffer.wrap(ByteArray(0))
+    val response = ByteBuffer.allocateDirect(32).order(ByteOrder.nativeOrder())
+
+    account?.let { response.put(it.codeHash.toArrayUnsafe()) }
+    response
   }
 
   /**
@@ -193,7 +233,10 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
   override fun getCode(address: ByteArray): ByteBuffer = runBlocking {
     logger.trace("Entering getCode")
     val code = repository.getAccountCode(Address.fromBytes(Bytes.wrap(address)))
-    code?.let { ByteBuffer.wrap(it.toArrayUnsafe()) } ?: ByteBuffer.wrap(ByteArray(0))
+    code?.let {
+      val response = ByteBuffer.allocateDirect(code.size()).order(ByteOrder.nativeOrder())
+      response.put(it.toArrayUnsafe())
+    } ?: ByteBuffer.allocateDirect(0)
   }
 
   /**
@@ -206,9 +249,25 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
    * @param address The address of the contract to be selfdestructed.
    * @param beneficiary The address where the remaining ETH is going to be transferred.
    */
-  override fun selfdestruct(address: ByteArray, beneficiary: ByteArray) {
+  override fun selfdestruct(address: ByteArray, beneficiary: ByteArray): Unit = runBlocking {
     logger.trace("Entering selfdestruct")
-    TODO("Not implemented")
+    val addr = Address.fromBytes(Bytes.wrap(address))
+    accountsToDestroy.add(addr)
+    val account = repository.getAccount(addr)
+    val beneficiaryAddress = Address.fromBytes(Bytes.wrap(beneficiary))
+    val beneficiaryAccountState = repository.getAccount(beneficiaryAddress)
+    if (beneficiaryAccountState === null) {
+      repository.storeAccount(beneficiaryAddress, AccountState(UInt256.ZERO, Wei.valueOf(0), Hash.fromBytes(
+        MerklePatriciaTrie.storingBytes().rootHash()), Hash.hash(Bytes.EMPTY)))
+    }
+    account?.apply {
+      val balance = balanceChanges.putIfAbsent(beneficiaryAddress, account.balance)
+      balance?.let {
+        balanceChanges[beneficiaryAddress] = it.add(account.balance)
+      }
+    }
+    logger.trace("Done selfdestruct")
+    return@runBlocking
   }
 
   /**
@@ -219,7 +278,19 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
    */
   override fun call(msg: ByteBuffer): ByteBuffer {
     logger.trace("Entering call")
-    return ByteBuffer.allocateDirect(64)
+    val evmMessage = EVMMessage.fromBytes(Bytes.wrapByteBuffer(msg))
+    val result = ethereumVirtualMachine.executeInternal(
+      evmMessage.sender,
+      evmMessage.destination,
+      evmMessage.value,
+      Bytes.EMPTY,
+      evmMessage.inputData,
+      evmMessage.inputDataSize,
+      evmMessage.gas,
+      depth = depth + 1,
+      hostContext = this
+    )
+    return result
   }
 
   /**
@@ -232,7 +303,13 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
    */
   override fun getTxContext(): ByteBuffer {
     logger.trace("Entering getTxContext")
-    return ByteBuffer.allocateDirect(64)
+    return ByteBuffer.allocateDirect(160).put(Bytes.concatenate(gasPrice.toBytes(),
+      sender, currentCoinbase, Bytes.ofUnsignedLong(currentNumber),
+      Bytes.ofUnsignedLong(currentTimestamp),
+      Bytes.ofUnsignedLong(currentGasLimit),
+      currentDifficulty.toBytes(),
+      UInt256.ONE.toBytes()
+    ).toArrayUnsafe())
   }
 
   /**
@@ -267,6 +344,6 @@ class TransactionalEVMHostContext(val repository: BlockchainRepository) : HostCo
    */
   override fun emitLog(address: ByteArray, data: ByteArray, dataSize: Int, topics: Array<ByteArray>, topicCount: Int) {
     logger.trace("Entering emitLog")
-    TODO()
+    logs.add(Log(Address.fromBytes(Bytes.wrap(address)), Bytes.wrap(data), topics.map { Bytes32.wrap(it) }))
   }
 }
diff --git a/evm/src/main/resources/libevmc.dylib b/evm/src/main/resources/libevmc.dylib
index f06503f..70b8eda 100755
Binary files a/evm/src/main/resources/libevmc.dylib and b/evm/src/main/resources/libevmc.dylib differ
diff --git a/evm/src/main/resources/libevmc.so b/evm/src/main/resources/libevmc.so
index fd9fa2d..2e47a0f 100644
Binary files a/evm/src/main/resources/libevmc.so and b/evm/src/main/resources/libevmc.so differ
diff --git a/evm/src/test/kotlin/org/apache/tuweni/evm/EVMReferenceTest.kt b/evm/src/test/kotlin/org/apache/tuweni/evm/EVMReferenceTest.kt
new file mode 100644
index 0000000..4822264
--- /dev/null
+++ b/evm/src/test/kotlin/org/apache/tuweni/evm/EVMReferenceTest.kt
@@ -0,0 +1,302 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tuweni.evm
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties
+import com.fasterxml.jackson.core.type.TypeReference
+import com.fasterxml.jackson.databind.ObjectMapper
+import kotlinx.coroutines.runBlocking
+import org.apache.lucene.index.IndexWriter
+import org.apache.tuweni.bytes.Bytes
+import org.apache.tuweni.eth.AccountState
+import org.apache.tuweni.eth.Address
+import org.apache.tuweni.eth.EthJsonModule
+import org.apache.tuweni.eth.Hash
+import org.apache.tuweni.eth.repository.BlockchainIndex
+import org.apache.tuweni.eth.repository.BlockchainRepository
+import org.apache.tuweni.io.Resources
+import org.apache.tuweni.junit.BouncyCastleExtension
+import org.apache.tuweni.junit.LuceneIndexWriter
+import org.apache.tuweni.junit.LuceneIndexWriterExtension
+import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.trie.MerklePatriciaTrie
+import org.apache.tuweni.units.bigints.UInt256
+import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertNotEquals
+import org.junit.jupiter.api.Assertions.assertNotNull
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Assumptions.assumeFalse
+import org.junit.jupiter.api.BeforeAll
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.DisplayName
+import org.junit.jupiter.api.extension.ExtendWith
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.Arguments
+import org.junit.jupiter.params.provider.MethodSource
+import java.io.IOException
+import java.io.InputStream
+import java.io.UncheckedIOException
+import java.util.stream.Stream
+
+@ExtendWith(LuceneIndexWriterExtension::class, BouncyCastleExtension::class)
+class EVMReferenceTest {
+
+  companion object {
+
+    val mapper = ObjectMapper()
+
+    init {
+      mapper.registerModule(EthJsonModule())
+    }
+
+    @JvmStatic
+    @BeforeAll
+    fun checkOS() {
+      val osName = System.getProperty("os.name").toLowerCase()
+      val isWindows = osName.startsWith("windows")
+      assumeFalse(isWindows, "No Windows binaries available")
+    }
+
+    @JvmStatic
+    @Throws(IOException::class)
+    private fun findTests(): Stream<Arguments> {
+      return findTests("**/*.json")
+    }
+
+    @Throws(IOException::class)
+    private fun findTests(glob: String): Stream<Arguments> {
+      return Resources.find(glob).flatMap { url ->
+        try {
+          url.openConnection().getInputStream().use { input -> prepareTests(input) }
+        } catch (e: IOException) {
+          throw UncheckedIOException(e)
+        }
+      }
+    }
+
+    @Throws(IOException::class)
+    private fun prepareTests(input: InputStream): Stream<Arguments> {
+
+      val typeRef = object : TypeReference<HashMap<String, JsonReferenceTest>>() {}
+      val allTests: Map<String, JsonReferenceTest> = mapper.readValue(input, typeRef)
+      return allTests
+        .entries
+        .stream()
+        .map { entry ->
+          Arguments.of(entry.key, entry.value)
+        }
+    }
+  }
+
+  private val evmcFile: String
+  private val evmOneVm: String
+
+  init {
+    val osName = System.getProperty("os.name").toLowerCase()
+    val isMacOs = osName.startsWith("mac os x")
+
+    if (isMacOs) {
+      evmcFile = EthereumVirtualMachine::class.java.getResource("/libevmc.dylib").file
+      evmOneVm = EthereumVirtualMachine::class.java.getResource("/libevmone.0.5.0.dylib").file
+    } else {
+      evmcFile = EthereumVirtualMachine::class.java.getResource("/libevmc.so").file
+      evmOneVm = EthereumVirtualMachine::class.java.getResource("/libevmone.so.0.5.0").file
+    }
+  }
+
+  private var writer: IndexWriter? = null
+
+  @BeforeEach
+  fun setUp(@LuceneIndexWriter newWriter: IndexWriter) {
+    writer = newWriter
+  }
+
+  @ParameterizedTest(name = "{index}: {0}")
+  @DisplayName("{0}")
+  @MethodSource("findTests")
+  fun runReferenceTest(testName: String, test: JsonReferenceTest) {
+    assertNotNull(testName)
+    println(testName)
+
+    val repository = BlockchainRepository(
+      MapKeyValueStore(),
+      MapKeyValueStore(),
+      MapKeyValueStore(),
+      MapKeyValueStore(),
+      MapKeyValueStore(),
+      MapKeyValueStore(),
+      BlockchainIndex(writer!!)
+    )
+    test.pre!!.forEach { address, state ->
+      runBlocking {
+        val tree = MerklePatriciaTrie.storingBytes()
+        state.storage!!.forEach { key, value ->
+          runBlocking {
+            tree.put(key, value)
+          }
+        }
+        val accountState =
+          AccountState(state.nonce!!, state.balance!!, Hash.fromBytes(tree.rootHash()), Hash.hash(state.code!!))
+        repository.storeAccount(address, accountState)
+        repository.storeCode(state.code!!)
+      }
+    }
+    val vm = EthereumVirtualMachine(repository, evmcFile, evmOneVm)
+    vm.start()
+    try {
+      val result = vm.execute(
+        test.exec?.origin!!,
+        test.exec?.address!!,
+        test.exec?.value!!,
+        test.exec?.code!!,
+        test.exec?.data!!,
+        test.exec?.gas!!,
+        test.exec?.gasPrice!!,
+        test.env?.currentCoinbase!!,
+        test.env?.currentNumber!!.toLong(),
+        test.env?.currentTimestamp!!.toLong(),
+        test.env?.currentGasLimit!!.toLong(),
+        test.env?.currentDifficulty!!
+      )
+      if (test.post == null) {
+        assertNotEquals(EVMExecutionStatusCode.EVMC_SUCCESS, result.statusCode)
+        if (testName.contains("JumpDest", true) ||
+          testName.contains("OutsideBoundary", true) ||
+          testName.contains("outOfBoundary", true) ||
+          testName.startsWith("DynamicJump_valueUnderflow") ||
+          testName.startsWith("jumpiToUintmaxPlus1") ||
+          testName.startsWith("jumpToUintmaxPlus1") ||
+          testName.startsWith("DynamicJumpi0") ||
+          testName.startsWith("DynamicJumpJD_DependsOnJumps0") ||
+          testName.startsWith("jumpHigh") ||
+          testName.startsWith("bad_indirect_jump2") ||
+          testName.startsWith("DynamicJumpPathologicalTest1") ||
+          testName.startsWith("jumpToUint64maxPlus1") ||
+          testName.startsWith("jumpiToUint64maxPlus1") ||
+          testName.startsWith("jumpi0") ||
+          testName.startsWith("DynamicJumpPathologicalTest3") ||
+          testName.startsWith("DynamicJumpPathologicalTest2") ||
+          testName.startsWith("jump1") ||
+          testName.startsWith("bad_indirect_jump1") ||
+          testName.startsWith("BlockNumberDynamicJumpi0") ||
+          testName.startsWith("gasOverFlow") ||
+          testName.startsWith("DynamicJump1") ||
+          testName.startsWith("BlockNumberDynamicJump1") ||
+          testName.startsWith("JDfromStorageDynamicJump1") ||
+          testName.startsWith("JDfromStorageDynamicJumpi0")
+        ) {
+          assertEquals(EVMExecutionStatusCode.EVMC_BAD_JUMP_DESTINATION, result.statusCode)
+        } else if (testName.contains("underflow", true) ||
+          testName.startsWith("swap2error") ||
+          testName.startsWith("dup2error") ||
+          testName.startsWith("pop1") ||
+          testName.startsWith("jumpOntoJump") ||
+          testName.startsWith("swapAt52becameMstore") ||
+          testName.startsWith("stack_loop") ||
+          testName.startsWith("201503110206PYTHON") ||
+          testName.startsWith("201503112218PYTHON") ||
+          testName.startsWith("201503110219PYTHON") ||
+          testName.startsWith("201503102320PYTHON")
+        ) {
+          assertEquals(EVMExecutionStatusCode.EVMC_STACK_UNDERFLOW, result.statusCode)
+        } else if (testName.contains("outofgas", true) ||
+          testName.contains("TooHigh", true) ||
+          testName.contains("MemExp", true) ||
+          testName.contains("return1", true) ||
+          testName.startsWith("sha3_bigOffset") ||
+          testName.startsWith("sha3_3") ||
+          testName.startsWith("sha3_4") ||
+          testName.startsWith("sha3_5") ||
+          testName.startsWith("sha3_6") ||
+          testName.startsWith("sha3_bigSize") ||
+          testName.startsWith("ackermann33")
+        ) {
+          assertEquals(EVMExecutionStatusCode.EVMC_OUT_OF_GAS, result.statusCode)
+        } else if (testName.contains("stacklimit", true)) {
+          assertEquals(EVMExecutionStatusCode.EVMC_STACK_OVERFLOW, result.statusCode)
+        } else {
+          println(result.statusCode)
+          TODO()
+        }
+      } else {
+        test.post!!.forEach { address, state ->
+          runBlocking {
+            assertTrue(repository.accountsExists(address) || result.hostContext.accountChanges.containsKey(address))
+            val accountState = repository.getAccount(address)
+            val balance = accountState?.balance?.add(
+              result.hostContext.balanceChanges.get(address) ?: Wei.valueOf(0)
+            ) ?: Wei.valueOf(0)
+            assertEquals(state.balance, balance)
+            assertEquals(state.nonce, accountState!!.nonce)
+          }
+        }
+        test.logs?.let {
+          val logsTree = MerklePatriciaTrie.storingBytes()
+          result.hostContext.logs.forEach {
+            runBlocking {
+              logsTree.put(Hash.hash(it.toBytes()), it.toBytes())
+            }
+          }
+        }
+      }
+    } finally {
+      vm.stop()
+    }
+  }
+}
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class Env(
+  var currentCoinbase: Address? = null,
+  var currentDifficulty: UInt256? = null,
+  var currentGasLimit: UInt256? = null,
+  var currentNumber: UInt256? = null,
+  var currentTimestamp: UInt256? = null
+)
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class Exec(
+  var address: Address? = null,
+  var caller: Address? = null,
+  var code: Bytes? = null,
+  var data: Bytes? = null,
+  var gas: Gas? = null,
+  var gasPrice: Wei? = null,
+  var origin: Address? = null,
+  var value: Bytes? = null
+)
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class JsonAccountState(
+  var balance: Wei? = null,
+  var code: Bytes? = null,
+  var nonce: UInt256? = null,
+  var storage: Map<Bytes, Bytes>? = null
+)
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+data class JsonReferenceTest(
+  var env: Env? = null,
+  var exec: Exec? = null,
+  var gas: Gas? = null,
+  var logs: Bytes? = null,
+  var out: Bytes? = null,
+  var post: Map<Address, JsonAccountState>? = null,
+  var pre: Map<Address, JsonAccountState>? = null
+)
diff --git a/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt b/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt
index 507d424..5859d9e 100644
--- a/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt
+++ b/evm/src/test/kotlin/org/apache/tuweni/evm/EthereumVirtualMachineTest.kt
@@ -25,9 +25,13 @@ import org.apache.tuweni.junit.BouncyCastleExtension
 import org.apache.tuweni.junit.LuceneIndexWriter
 import org.apache.tuweni.junit.LuceneIndexWriterExtension
 import org.apache.tuweni.kv.MapKeyValueStore
+import org.apache.tuweni.units.bigints.UInt256
 import org.apache.tuweni.units.ethereum.Gas
+import org.apache.tuweni.units.ethereum.Wei
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Assumptions.assumeFalse
+import org.junit.jupiter.api.BeforeAll
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.extension.ExtendWith
 import java.nio.charset.StandardCharsets
@@ -35,6 +39,16 @@ import java.nio.charset.StandardCharsets
 @ExtendWith(LuceneIndexWriterExtension::class, BouncyCastleExtension::class)
 class EthereumVirtualMachineTest {
 
+  companion object {
+    @JvmStatic
+    @BeforeAll
+    fun checkOS() {
+      val osName = System.getProperty("os.name").toLowerCase()
+      val isWindows = osName.startsWith("windows")
+      assumeFalse(isWindows, "No Windows binaries available")
+    }
+  }
+
   private val evmcFile: String
   private val exampleVm: String
 
@@ -97,13 +111,6 @@ class EthereumVirtualMachineTest {
   }
 
   @Test
-  fun testExecuteCallFn(@LuceneIndexWriter writer: IndexWriter) {
-    val result = runCode(writer, Bytes.fromHexString("0x6000808080808080f1"))
-    assertEquals(EVMExecutionStatusCode.EVMC_SUCCESS, result.statusCode)
-    assertEquals(0, result.gasLeft)
-  }
-
-  @Test
   @Throws(Exception::class)
   fun testGetCapabilities(@LuceneIndexWriter writer: IndexWriter) {
     val repository = BlockchainRepository(
@@ -159,7 +166,13 @@ class EthereumVirtualMachineTest {
       val inputData = Bytes.wrap("hello w\u0000".toByteArray(StandardCharsets.UTF_8))
       val gas = Gas.valueOf(200000)
       val result =
-        vm.execute(sender, destination, value, Bytes.fromHexString("0x00"), inputData, gas, CallKind.EVMC_CREATE)
+        vm.execute(sender, destination, value, Bytes.fromHexString("0x00"), inputData, gas,
+          Wei.valueOf(0),
+          Address.fromBytes(Bytes.random(20)),
+          0,
+          0,
+          2,
+          UInt256.valueOf(1), CallKind.EVMC_CREATE)
       assertEquals(EVMExecutionStatusCode.EVMC_SUCCESS, result.statusCode)
       assertEquals(20000, result.gasLeft)
     } finally {
@@ -186,7 +199,13 @@ class EthereumVirtualMachineTest {
       val value = Bytes.fromHexString("0x3100")
       val inputData = Bytes.wrap("hello w\u0000".toByteArray(StandardCharsets.UTF_8))
       val gas = Gas.valueOf(200000)
-      val result = vm.execute(sender, destination, value, code, inputData, gas)
+      val result = vm.execute(sender, destination, value, code, inputData, gas,
+        Wei.valueOf(0),
+        Address.fromBytes(Bytes.random(20)),
+        0,
+        0,
+        2,
+        UInt256.valueOf(1))
       return result
     } finally {
       vm.stop()
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add0.json
new file mode 100644
index 0000000..d26cf91
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add0.json
@@ -0,0 +1,52 @@
+{
+    "add0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/add0Filler.json",
+            "sourceHash" : "c1480bf5e662b7f6518d4b003e14575c6bdab286e2d8763e1b0be9a186bec775"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013874",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add1.json
new file mode 100644
index 0000000..a629398
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add1.json
@@ -0,0 +1,52 @@
+{
+    "add1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/add1Filler.json",
+            "sourceHash" : "58abbcfd1a384ccb03d83f044b66cff2cc9abef6f1a54818a7ff7cb476714317"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013874",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x03"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add2.json
new file mode 100644
index 0000000..3bc8b48
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add2.json
@@ -0,0 +1,51 @@
+{
+    "add2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/add2Filler.json",
+            "sourceHash" : "cd24afb75c201e1a93d2d151ca35c46a12b3a6e75c2a6863ba3c165c4c608e3e"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add3.json
new file mode 100644
index 0000000..61c78fd
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add3.json
@@ -0,0 +1,51 @@
+{
+    "add3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/add3Filler.json",
+            "sourceHash" : "ae20f12e2e767dbad456c07295d6a8f994e094468483819f9d7c304539edb6d2"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600060000160005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060000160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060000160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/add4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/add4.json
new file mode 100644
index 0000000..fa95c86
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/add4.json
@@ -0,0 +1,51 @@
+{
+    "add4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/add4Filler.json",
+            "sourceHash" : "01a799c6d77ac57a1d7ed48846925a7f44366a441673262143cae5b6b4e490d4"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60010160005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60010160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60010160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod0.json
new file mode 100644
index 0000000..a95ac45
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod0.json
@@ -0,0 +1,52 @@
+{
+    "addmod0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod0Filler.json",
+            "sourceHash" : "b653c7415608e53969c4d45af66c0e8c01e60f9e0a01baed319bf4afe16832c2"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6002600260010860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600260010860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600260010860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1.json
new file mode 100644
index 0000000..0b7487f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1.json
@@ -0,0 +1,52 @@
+{
+    "addmod1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1Filler.json",
+            "sourceHash" : "0f4c87a18c88ad1719c0734d943900e35b8cd85724dde4b13d079aa434401c64"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6002600260000360016000030860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013860",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600260000360016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600260000360016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow2.json
new file mode 100644
index 0000000..228009e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow2.json
@@ -0,0 +1,51 @@
+{
+    "addmod1_overflow2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflow2Filler.json",
+            "sourceHash" : "859a55bda484acd51feda922aceaa23e31e12865f51e67b6a0a97ea400d68075"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6005600060016000030860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172fe",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600060016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600060016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow3.json
new file mode 100644
index 0000000..3f5166f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow3.json
@@ -0,0 +1,52 @@
+{
+    "addmod1_overflow3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflow3Filler.json",
+            "sourceHash" : "30706ed78e85d639d747d0d96f9d655fb6d7bab738592cab092b5ed06a9bcb9c"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6005600160016000030860005500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0ef406",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600160016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600160016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow4.json
new file mode 100644
index 0000000..5a90c8d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflow4.json
@@ -0,0 +1,52 @@
+{
+    "addmod1_overflow4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflow4Filler.json",
+            "sourceHash" : "290e77313bfea3300fcd4c37f2b2b026e89987c490482f597f55771f9d3a2464"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6005600260016000030860005500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0ef406",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600260016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600260016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflowDiff.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflowDiff.json
new file mode 100644
index 0000000..366440e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod1_overflowDiff.json
@@ -0,0 +1,52 @@
+{
+    "addmod1_overflowDiff" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod1_overflowDiffFiller.json",
+            "sourceHash" : "7073de29ae9c57cdf71391901294884b8c1ad23e0af2bd6117d724963451190f"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6005600260000360016000030860005500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0ef400",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600260000360016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x04"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600260000360016000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2.json
new file mode 100644
index 0000000..ccc80ae
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2.json
@@ -0,0 +1,52 @@
+{
+    "addmod2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod2Filler.json",
+            "sourceHash" : "f36049f5013be2766abdaa9fea02d156f61db92b9ff86fb43919dcea98b119b8"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6003600160066000030860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013866",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600160066000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600160066000030860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_0.json
new file mode 100644
index 0000000..9cbd015
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_0.json
@@ -0,0 +1,51 @@
+{
+    "addmod2_0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod2_0Filler.json",
+            "sourceHash" : "0470b8d3fbdd7464c8b54b014d2dc29d655334e6511b5321f5303b45cee70c04"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6003600160066000030860036005600003071460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172ea",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600160066000030860036005600003071460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600160066000030860036005600003071460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_1.json
new file mode 100644
index 0000000..28fc7eb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod2_1.json
@@ -0,0 +1,52 @@
+{
+    "addmod2_1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod2_1Filler.json",
+            "sourceHash" : "39a8b5c350ef205d73c3ce50c9a5b65fc73b9de0a683785069b200910e52a785"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6003600160066000030860036005600003061460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013852",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600160066000030860036005600003061460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600160066000030860036005600003061460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3.json
new file mode 100644
index 0000000..05c0e04
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3.json
@@ -0,0 +1,52 @@
+{
+    "addmod3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod3Filler.json",
+            "sourceHash" : "cbc5d170bec034c46999f04994906662d1b4344fd3b601c0d7e2ee848ef2b447"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6003600003600160040860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013866",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600003600160040860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x05"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600003600160040860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3_0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3_0.json
new file mode 100644
index 0000000..72a0782
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmod3_0.json
@@ -0,0 +1,51 @@
+{
+    "addmod3_0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmod3_0Filler.json",
+            "sourceHash" : "e1cb0b8be178a79f05d8546ee197708bc3d7fd00f54a65d918b8951fed512df7"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6002600360000360016004081460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172f8",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600360000360016004081460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600360000360016004081460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodBigIntCast.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodBigIntCast.json
new file mode 100644
index 0000000..31bf138
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodBigIntCast.json
@@ -0,0 +1,52 @@
+{
+    "addmodBigIntCast" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmodBigIntCastFiller.json",
+            "sourceHash" : "415fdbb2f1c3831ba6e026e3d89bb1adde8a2481cfd597d10731937183689331"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero.json
new file mode 100644
index 0000000..ae33c41
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero.json
@@ -0,0 +1,51 @@
+{
+    "addmodDivByZero" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZeroFiller.json",
+            "sourceHash" : "1e809c4e48f7db08a82518bcc966b38951b82dc7bbf1d274e01b3ad85d71227c"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000600160040860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x017304",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000600160040860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000600160040860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero1.json
new file mode 100644
index 0000000..68243c5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero1.json
@@ -0,0 +1,51 @@
+{
+    "addmodDivByZero1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZero1Filler.json",
+            "sourceHash" : "f57501deeca8fc79fdeefa4be7c1b006c1d1c17c897cd3ad82457bc409e9c2e1"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000600160000860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x017304",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000600160000860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000600160000860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero2.json
new file mode 100644
index 0000000..bf9372a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero2.json
@@ -0,0 +1,51 @@
+{
+    "addmodDivByZero2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZero2Filler.json",
+            "sourceHash" : "a5029196294b809ee6553af69ebc5a0fc5d9d664227c6fadcb206a896ed05e55"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000600060010860005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x017304",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000600060010860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000600060010860005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero3.json
new file mode 100644
index 0000000..c45da02
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/addmodDivByZero3.json
@@ -0,0 +1,52 @@
+{
+    "addmodDivByZero3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/addmodDivByZero3Filler.json",
+            "sourceHash" : "79608869311129576b4443f4748e375501ab1738b9e22f4ed37351e8ca090ac9"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6001600060006000080360005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013866",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6001600060006000080360005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6001600060006000080360005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/arith1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/arith1.json
new file mode 100644
index 0000000..c335d82
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/arith1.json
@@ -0,0 +1,51 @@
+{
+    "arith1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/arith1Filler.json",
+            "sourceHash" : "3882779330325929a33f27d05b731300641f486cfec909dfcc6b1ea65e1294b1"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6001600190016007026005016002900460049060016021900560150160030260059007600303600960110a60005260086000f300",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0f41bf",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x0000000000000000",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6001600190016007026005016002900460049060016021900560150160030260059007600303600960110a60005260086000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6001600190016007026005016002900460049060016021900560150160030260059007600303600960110a60005260086000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/div1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/div1.json
new file mode 100644
index 0000000..4b5f7aa
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/div1.json
@@ -0,0 +1,51 @@
+{
+    "div1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/div1Filler.json",
+            "sourceHash" : "a6147ee1bbfcaf3d20f6cda97756669a662e99027325454e2c1a4086d1ff0440"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005260206000f300",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x018686",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x7f6e5d4c3b2a19087f6e5d4c3b2a19087f6e5d4c3b2a19087f6e5d4c3b2a1908",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005260206000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005260206000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divBoostBug.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divBoostBug.json
new file mode 100644
index 0000000..a3dacc8
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divBoostBug.json
@@ -0,0 +1,52 @@
+{
+    "divBoostBug" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divBoostBugFiller.json",
+            "sourceHash" : "80af54da1fb29e0d2762c05b09e3780f6c8aa840329c949863c6320b2cea1706"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7f01dae6076b981dae6076b981dae6076b981dae6076b981dae6076b981dae60777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba0460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7f01dae6076b981dae6076b981dae6076b981dae6076b981dae6076b981dae60777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba0460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x89"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7f01dae6076b981dae6076b981dae6076b981dae6076b981dae6076b981dae60777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffba0460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero0.json
new file mode 100644
index 0000000..a3afc78
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero0.json
@@ -0,0 +1,52 @@
+{
+    "divByNonZero0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero0Filler.json",
+            "sourceHash" : "bbf583036e63d6ac5eced74ae000395c1b708308746b9019ceddc24e79d202e2"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600260050460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600260050460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600260050460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero1.json
new file mode 100644
index 0000000..7667be9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero1.json
@@ -0,0 +1,51 @@
+{
+    "divByNonZero1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero1Filler.json",
+            "sourceHash" : "6005281a6fb03f18e03d14c81a2808c823a4a3245ebdbebaec1719f04d53ab89"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601860170460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601860170460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601860170460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero2.json
new file mode 100644
index 0000000..fb12ece
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero2.json
@@ -0,0 +1,51 @@
+{
+    "divByNonZero2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero2Filler.json",
+            "sourceHash" : "bf31daf150ff046e0e222fac4c525bd16b93f9b525a3967136b1b8e1d5737aff"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601860000460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601860000460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601860000460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero3.json
new file mode 100644
index 0000000..144d3c4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByNonZero3.json
@@ -0,0 +1,52 @@
+{
+    "divByNonZero3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divByNonZero3Filler.json",
+            "sourceHash" : "20e12df4e30a941238bad9d9a0761ecef44431f13333c4627ddb50cc95e31182"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600160010460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600160010460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600160010460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero.json
new file mode 100644
index 0000000..b548c0c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero.json
@@ -0,0 +1,51 @@
+{
+    "divByZero" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divByZeroFiller.json",
+            "sourceHash" : "9e7f7a241f3f77481f52c5852b2188259e2d386b6df90276b253e9cb020e1b3b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600060020460005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060020460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060020460005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero_2.json
new file mode 100644
index 0000000..dd7aeff
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/divByZero_2.json
@@ -0,0 +1,52 @@
+{
+    "divByZero_2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/divByZero_2Filler.json",
+            "sourceHash" : "2c838e6100f4152156e9c98066378169c12494d25c9cc7b60a4658f02b2ee304"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60076000600d040160005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60076000600d040160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x07"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60076000600d040160005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp0.json
new file mode 100644
index 0000000..89d2c9b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp0.json
@@ -0,0 +1,52 @@
+{
+    "exp0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp0Filler.json",
+            "sourceHash" : "4579e7a6ee4174d0821ec00958ba57534d6e41ed4fe61a98652323ecc15c8ed7"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600260020a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013863",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600260020a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x04"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600260020a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp1.json
new file mode 100644
index 0000000..f362e4e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp1.json
@@ -0,0 +1,52 @@
+{
+    "exp1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp1Filler.json",
+            "sourceHash" : "c6f7f6ba8f80356ecabde31da7368a74b032f2926c4ff34348bd9718632c5c75"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01372d",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp2.json
new file mode 100644
index 0000000..5230b89
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp2.json
@@ -0,0 +1,52 @@
+{
+    "exp2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp2Filler.json",
+            "sourceHash" : "11127c85c5b491b8279ecd74d2f9ffffa97f27a813a3b94269eb5b7a6d7b4507"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x637fffffff637fffffff0a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013845",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x637fffffff637fffffff0a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0xbc8cccccccc888888880000000aaaaaab00000000fffffffffffffff7fffffff"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x637fffffff637fffffff0a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp3.json
new file mode 100644
index 0000000..3df30f9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp3.json
@@ -0,0 +1,51 @@
+{
+    "exp3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp3Filler.json",
+            "sourceHash" : "3c0e3c7d24659729cd1ddaed69175799562288c0e1e554c0b69ce6fbfc5b31f6"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x637fffffff60000a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172dd",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x637fffffff60000a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x637fffffff60000a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp4.json
new file mode 100644
index 0000000..26ff95f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp4.json
@@ -0,0 +1,52 @@
+{
+    "exp4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp4Filler.json",
+            "sourceHash" : "8557e2a795056339a0d9d28cb288052cf139c35f0bfb5f4ff2bc0c0ded44bfe7"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000637fffffff0a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386d",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000637fffffff0a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000637fffffff0a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp5.json
new file mode 100644
index 0000000..f4c86e8
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp5.json
@@ -0,0 +1,52 @@
+{
+    "exp5" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp5Filler.json",
+            "sourceHash" : "b1412b81e7750b718b77a2d815e145685cbff41377f528ba9f46ebd73688fc41"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60016101010a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013863",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60016101010a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60016101010a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp6.json
new file mode 100644
index 0000000..5f08df4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp6.json
@@ -0,0 +1,52 @@
+{
+    "exp6" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp6Filler.json",
+            "sourceHash" : "a144f79a281bde3f33ec1247fd41030ea192dd2223da937d87eb34367d359654"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x61010160010a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013859",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x61010160010a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x61010160010a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp7.json
new file mode 100644
index 0000000..5e38ad5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp7.json
@@ -0,0 +1,51 @@
+{
+    "exp7" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp7Filler.json",
+            "sourceHash" : "b587b81265d05055a8b18a5a9b3a38f2883b8f769d0f1c492e812c8f81598d0c"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x61010160020a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172f1",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x61010160020a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x61010160020a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/exp8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/exp8.json
new file mode 100644
index 0000000..d836aac
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/exp8.json
@@ -0,0 +1,52 @@
+{
+    "exp8" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/exp8Filler.json",
+            "sourceHash" : "c0c612ad120182375240db2941beffe9474192e60903e40e27ee6fe59aa51ce1"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600060000a60005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386d",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060000a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060000a60005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_0.json
new file mode 100644
index 0000000..8e6410d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_0.json
@@ -0,0 +1,60 @@
+{
+    "expPowerOf256Of256_0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_0Filler.json",
+            "sourceHash" : "e7eba85656cf846e3b2fb78c097671a8553ac4be95129384223e0b33f942d9e6"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60006101000a6101000a600055600060ff0a6101000a60015560006101010a6101000a60025560006101000a60ff0a600355600060ff0a60ff0a60045560006101010a60ff0a60055560006101000a6101010a600655600060ff0a6101010a60075560006101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0c81a6",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60006101000a6101000a600055600060ff0a6101000a60015560006101010a6101000a60025560006101000a60ff0a600355600060ff0a60ff0a60045560006101010a60ff0a60055560006101000a6101010a600655600060ff0a6101010a60075560006101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100",
+                    "0x01" : "0x0100",
+                    "0x02" : "0x0100",
+                    "0x03" : "0xff",
+                    "0x04" : "0xff",
+                    "0x05" : "0xff",
+                    "0x06" : "0x0101",
+                    "0x07" : "0x0101",
+                    "0x08" : "0x0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60006101000a6101000a600055600060ff0a6101000a60015560006101010a6101000a60025560006101000a60ff0a600355600060ff0a60ff0a60045560006101010a60ff0a60055560006101000a6101010a600655600060ff0a6101010a60075560006101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_1.json
new file mode 100644
index 0000000..b5ce36f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_1.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_1Filler.json",
+            "sourceHash" : "e598524d486352e22b7130a9d02b2b8334bbd63f4f704559f77a2c2bfc4e087f"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60016101000a6101000a600055600160ff0a6101000a60015560016101010a6101000a60025560016101000a60ff0a600355600160ff0a60ff0a60045560016101010a60ff0a60055560016101000a6101010a600655600160ff0a6101010a60075560016101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d30d8",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60016101000a6101000a600055600160ff0a6101000a60015560016101010a6101000a60025560016101000a60ff0a600355600160ff0a60ff0a60045560016101010a60ff0a60055560016101000a6101010a600655600160ff0a6101010a60075560016101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x06c3acd330b959ad6efabce6d2d2125e73a88a65a9880d203dddf5957f7f0001",
+                    "0x04" : "0x8f965a06da0ac41dcb3a34f1d8ab7d8fee620a94faa42c395997756b007ffeff",
+                    "0x05" : "0xbce9265d88a053c18bc229ebff404c1534e1db43de85131da0179fe9ff8100ff",
+                    "0x06" : "0x02b5e9d7a094c19f5ebdd4f2e618f859ed15e4f1f0351f286bf849eb7f810001",
+                    "0x07" : "0xc73b7a6f68385c653a24993bb72eea0e4ba17470816ec658cf9c5bedfd81ff01",
+                    "0x08" : "0xb89fc178355660fe1c92c7d8ff11524702fad6e2255447946442356b00810101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60016101000a6101000a600055600160ff0a6101000a60015560016101010a6101000a60025560016101000a60ff0a600355600160ff0a60ff0a60045560016101010a60ff0a60055560016101000a6101010a600655600160ff0a6101010a60075560016101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_10.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_10.json
new file mode 100644
index 0000000..3a07ae4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_10.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_10" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_10Filler.json",
+            "sourceHash" : "265ede01ea54fa89e1fb73e948c30f654a8fe3d5bd782165b24547cb65cc22fd"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600a6101000a6101000a600055600a60ff0a6101000a600155600a6101010a6101000a600255600a6101000a60ff0a600355600a60ff0a60ff0a600455600a6101010a60ff0a600555600a6101000a6101010a600655600a60ff0a6101010a600755600a6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2dae",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600a6101000a6101000a600055600a60ff0a6101000a600155600a6101010a6101000a600255600a6101000a60ff0a600355600a60ff0a60ff0a600455600a6101010a60ff0a600555600a6101000a6101010a600655600a60ff0a6101010a600755600a6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xfe0f60957dc223578a0298879ec55c33085514ff7f0000000000000000000001",
+                    "0x04" : "0xc1ea45f348b5d351c4d8fe5c77da979cadc33d866acc42e981278896b1f600ff",
+                    "0x05" : "0x56ddb29bca94fb986ac0a40188b3b53f3216b3559bd8324a77ea8bd8a80a00ff",
+                    "0x06" : "0x2d49ff6b0bbe177ae9317000b68fb921f7aa6aff810000000000000000000001",
+                    "0x07" : "0x185fa9eab94cfe3016b69657e83b23fd24cc6960218254231c3db627a7f60101",
+                    "0x08" : "0xa7a0223829f26d6c635368034320563df4aa5eb62efc87a42bb35f69b20a0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600a6101000a6101000a600055600a60ff0a6101000a600155600a6101010a6101000a600255600a6101000a60ff0a600355600a60ff0a60ff0a600455600a6101010a60ff0a600555600a6101000a6101010a600655600a60ff0a6101010a600755600a6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_11.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_11.json
new file mode 100644
index 0000000..3db060f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_11.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_11" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_11Filler.json",
+            "sourceHash" : "e43f8e1a2ed9336cb787e1fc57ccdb89e4a04c47239ca4718e92004ffc1cc3ef"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600b6101000a6101000a600055600b60ff0a6101000a600155600b6101010a6101000a600255600b6101000a60ff0a600355600b60ff0a60ff0a600455600b6101010a60ff0a600555600b6101000a6101010a600655600b60ff0a6101010a600755600b6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2d54",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600b6101000a6101000a600055600b60ff0a6101000a600155600b6101010a6101000a600255600b6101000a60ff0a600355600b60ff0a60ff0a600455600b6101010a60ff0a600555600b6101000a6101010a600655600b60ff0a6101010a600755600b6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xe1440264b8ee0cea0218879ec55c33085514ff7f000000000000000000000001",
+                    "0x04" : "0x29575fdce377b23043e489e358581474bc863187fa85f9945473a2be5889feff",
+                    "0x05" : "0x3df8c030ec521fb109c4d887dbbc14c7c9c9921b27058e3503971b60b18b00ff",
+                    "0x06" : "0x67799740340daf4a30f000b68fb921f7aa6aff81000000000000000000000001",
+                    "0x07" : "0x540a4e4635b40585e09ff10b63ffe310dd717fca5c0a51570091e25e378bff01",
+                    "0x08" : "0xdbbaef5c49ffee61b08cde6ebc8dba6e9a62d56c2355d1980cb9e790bc8b0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600b6101000a6101000a600055600b60ff0a6101000a600155600b6101010a6101000a600255600b6101000a60ff0a600355600b60ff0a60ff0a600455600b6101010a60ff0a600555600b6101000a6101010a600655600b60ff0a6101010a600755600b6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_12.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_12.json
new file mode 100644
index 0000000..5c1e812
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_12.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_12" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_12Filler.json",
+            "sourceHash" : "01b62fe9df4dbb7480ae2cf9abb76d594631621a886f85212337e77b14f99438"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600c6101000a6101000a600055600c60ff0a6101000a600155600c6101010a6101000a600255600c6101000a60ff0a600355600c60ff0a60ff0a600455600c6101010a60ff0a600555600c6101000a6101010a600655600c60ff0a6101010a600755600c6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2cfa",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600c6101000a6101000a600055600c60ff0a6101000a600155600c6101010a6101000a600255600c6101000a60ff0a600355600c60ff0a60ff0a600455600c6101010a60ff0a600555600c6101000a6101010a600655600c60ff0a6101010a600755600c6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xb0e95b83a36ce98218879ec55c33085514ff7f00000000000000000000000001",
+                    "0x04" : "0xc482ab56ec19186dc48c88f30861a850b2253b1ea6dc021589e569bd47f400ff",
+                    "0x05" : "0xcf45c7f9af4bbe4a83055b55b97777ad5e0a3f08b129c9ae208c5d713c0c00ff",
+                    "0x06" : "0xa5cbb62a421049b0f000b68fb921f7aa6aff8100000000000000000000000001",
+                    "0x07" : "0x3bde6ca66dffe1bf5d727c3edea74c7a4af43b3912e6256d37705c8f3bf40101",
+                    "0x08" : "0x3f49a1e40c5213aa4ffed57eb4c1ad2d181b2aaa289e9d59c2256c43480c0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600c6101000a6101000a600055600c60ff0a6101000a600155600c6101010a6101000a600255600c6101000a60ff0a600355600c60ff0a60ff0a600455600c6101010a60ff0a600555600c6101000a6101010a600655600c60ff0a6101010a600755600c6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_13.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_13.json
new file mode 100644
index 0000000..e4bd916
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_13.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_13" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_13Filler.json",
+            "sourceHash" : "c62982cada7a1ee86b69a3426e2cd65702c41ce6469fbfca1e44984956c9ce5d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600d6101000a6101000a600055600d60ff0a6101000a600155600d6101010a6101000a600255600d6101000a60ff0a600355600d60ff0a60ff0a600455600d6101010a60ff0a600555600d6101000a6101010a600655600d60ff0a6101010a600755600d6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2ca0",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600d6101000a6101000a600055600d60ff0a6101000a600155600d6101010a6101000a600255600d6101000a60ff0a600355600d60ff0a60ff0a600455600d6101010a60ff0a600555600d6101000a6101010a600655600d60ff0a6101010a600755600d6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xe02639036c698218879ec55c33085514ff7f0000000000000000000000000001",
+                    "0x04" : "0x8be664bde946d939ce551b948b503787942d2a7734509288c1b62fd5c48bfeff",
+                    "0x05" : "0xa923a28e7a75aef26c51580ffc686879e4a0b404b089bdbcd751d88b478d00ff",
+                    "0x06" : "0x41ac5ea30fc9b0f000b68fb921f7aa6aff810000000000000000000000000001",
+                    "0x07" : "0x0daa3a177ec975cb69bb4acf4a6e1be7bcc1ad33d1ffad97510f9fea9d8dff01",
+                    "0x08" : "0x19e6822beb889be28310060f4fb9741bfd50a31fa81ec65de21f7b02548d0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600d6101000a6101000a600055600d60ff0a6101000a600155600d6101010a6101000a600255600d6101000a60ff0a600355600d60ff0a60ff0a600455600d6101010a60ff0a600555600d6101000a6101010a600655600d60ff0a6101010a600755600d6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_14.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_14.json
new file mode 100644
index 0000000..0185204
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_14.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_14" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_14Filler.json",
+            "sourceHash" : "8c4f112ebf3af5b9334e845cff94d0bcf8ba39ec309500102671fd2057cbff93"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600e6101000a6101000a600055600e60ff0a6101000a600155600e6101010a6101000a600255600e6101000a60ff0a600355600e60ff0a60ff0a600455600e6101010a60ff0a600555600e6101000a6101010a600655600e60ff0a6101010a600755600e6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2c46",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600e6101000a6101000a600055600e60ff0a6101000a600155600e6101010a6101000a600255600e6101000a60ff0a600355600e60ff0a60ff0a600455600e6101010a60ff0a600555600e6101000a6101010a600655600e60ff0a6101010a600755600e6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xdb9902ec698218879ec55c33085514ff7f000000000000000000000000000001",
+                    "0x04" : "0x83fab06c6c8fef761ebbb9534c06ac2a9d61820623008069062ff3b1e1f200ff",
+                    "0x05" : "0x3f791dd183ed5b963bd86e0dba1a9dd5b8ceeb078f15c73062f1942fd40e00ff",
+                    "0x06" : "0xe0bfa28fc9b0f000b68fb921f7aa6aff81000000000000000000000000000001",
+                    "0x07" : "0x8133b760dfae27560eb490f235ddfa301f058dee4f01f3fe4b3567d0d3f20101",
+                    "0x08" : "0xcd4cd0124e983af71620fb5f98275965c6a8bebc4b8adc288b63224ee20e0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600e6101000a6101000a600055600e60ff0a6101000a600155600e6101010a6101000a600255600e6101000a60ff0a600355600e60ff0a60ff0a600455600e6101010a60ff0a600555600e6101000a6101010a600655600e60ff0a6101010a600755600e6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_15.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_15.json
new file mode 100644
index 0000000..6900168
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_15.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_15" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_15Filler.json",
+            "sourceHash" : "1925a35311507166f63e220f6ff1e561172708b9ba40e9522c81b316ea8da1db"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600f6101000a6101000a600055600f60ff0a6101000a600155600f6101010a6101000a600255600f6101000a60ff0a600355600f60ff0a60ff0a600455600f6101010a60ff0a600555600f6101000a6101010a600655600f60ff0a6101010a600755600f6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2bec",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600f6101000a6101000a600055600f60ff0a6101000a600155600f6101010a6101000a600255600f6101000a60ff0a600355600f60ff0a60ff0a600455600f6101010a60ff0a600555600f6101000a6101010a600655600f60ff0a6101010a600755600f6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x9882ec698218879ec55c33085514ff7f00000000000000000000000000000001",
+                    "0x04" : "0x75c4915e18b96704209738f5ca765568bb4dc4113d56683977825a132c8dfeff",
+                    "0x05" : "0x5c76839bf5a80b1da705dbdf43e4dd6770cd7501af11ff2dab7918dfe18f00ff",
+                    "0x06" : "0xbf228fc9b0f000b68fb921f7aa6aff8100000000000000000000000000000001",
+                    "0x07" : "0xc6a29131e7594004bc2aa79f0d2c402a1409c57c77d284c14b1a3ab0ff8fff01",
+                    "0x08" : "0xe6b3e5cf6ec90e532fef7d08455ebf92a03e9e3f6e224ea0febdf1a9f08f0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600f6101000a6101000a600055600f60ff0a6101000a600155600f6101010a6101000a600255600f6101000a60ff0a600355600f60ff0a60ff0a600455600f6101010a60ff0a600555600f6101000a6101010a600655600f60ff0a6101010a600755600f6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_16.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_16.json
new file mode 100644
index 0000000..d44cbad
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_16.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_16" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_16Filler.json",
+            "sourceHash" : "34791b0a5c045c2e7998ce8501c5a8c8de7452e41f86380c0c0fe05419648cc3"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60106101000a6101000a600055601060ff0a6101000a60015560106101010a6101000a60025560106101000a60ff0a600355601060ff0a60ff0a60045560106101010a60ff0a60055560106101000a6101010a600655601060ff0a6101010a60075560106101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2b92",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60106101000a6101000a600055601060ff0a6101000a60015560106101010a6101000a60025560106101000a60ff0a600355601060ff0a60ff0a60045560106101010a60ff0a60055560106101000a6101010a600655601060ff0a6101010a60075560106101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x82ec698218879ec55c33085514ff7f0000000000000000000000000000000001",
+                    "0x04" : "0x3122f4bcdf6dd8b265cd18eb6af28c879aed44a35e0bf59273e39e6c7ff000ff",
+                    "0x05" : "0x6a2b3bc87a02c29b9d27757df43047ecd0f15485270fca27417a701c701000ff",
+                    "0x06" : "0x228fc9b0f000b68fb921f7aa6aff810000000000000000000000000000000001",
+                    "0x07" : "0x88e1259502eef93d46060aacc9e2ff506c734dade0b6714ab12d17e46ff00101",
+                    "0x08" : "0x4a103813c12c12169b218296bb0a9eae80cf8d2b158aa70eb990f99480100101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60106101000a6101000a600055601060ff0a6101000a60015560106101010a6101000a60025560106101000a60ff0a600355601060ff0a60ff0a60045560106101010a60ff0a60055560106101000a6101010a600655601060ff0a6101010a60075560106101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_17.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_17.json
new file mode 100644
index 0000000..a4da686
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_17.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_17" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_17Filler.json",
+            "sourceHash" : "9bab5fa9602862ce95bc7711f5a3ec9f2bfa336238d0ef8481ee57c2affc6ff4"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60116101000a6101000a600055601160ff0a6101000a60015560116101010a6101000a60025560116101000a60ff0a600355601160ff0a60ff0a60045560116101010a60ff0a60055560116101000a6101010a600655601160ff0a6101010a60075560116101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2b38",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60116101000a6101000a600055601160ff0a6101000a60015560116101010a6101000a60025560116101000a60ff0a600355601160ff0a60ff0a60045560116101010a60ff0a60055560116101000a6101010a600655601160ff0a6101010a60075560116101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xec698218879ec55c33085514ff7f000000000000000000000000000000000001",
+                    "0x04" : "0x722ad218eb1995a2d257c4c06d8de993c203cfc8e3512df7d633e17e908ffeff",
+                    "0x05" : "0x8ac9b5ec08d74612cb29f941481d274b51721af2296207c0da8d24667f9100ff",
+                    "0x06" : "0x8fc9b0f000b68fb921f7aa6aff81000000000000000000000000000000000001",
+                    "0x07" : "0x81d5ff63680841482299f3eab616446dcd336f537c0c565aa4112ab95d91ff01",
+                    "0x08" : "0x9c6ca90dac4e97dea02ac969e8649ee9e6232e0c3f4797411151cb8f90910101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60116101000a6101000a600055601160ff0a6101000a60015560116101010a6101000a60025560116101000a60ff0a600355601160ff0a60ff0a60045560116101010a60ff0a60055560116101000a6101010a600655601160ff0a6101010a60075560116101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_18.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_18.json
new file mode 100644
index 0000000..fdeb90a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_18.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_18" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_18Filler.json",
+            "sourceHash" : "373ca75a93f6b6ce471ad922bc80558a01ec60391bc3671767607609e71cda9a"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60126101000a6101000a600055601260ff0a6101000a60015560126101010a6101000a60025560126101000a60ff0a600355601260ff0a60ff0a60045560126101010a60ff0a60055560126101000a6101010a600655601260ff0a6101010a60075560126101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2ade",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60126101000a6101000a600055601260ff0a6101000a60015560126101010a6101000a60025560126101000a60ff0a600355601260ff0a60ff0a60045560126101010a60ff0a60055560126101000a6101010a600655601260ff0a6101010a60075560126101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x698218879ec55c33085514ff7f00000000000000000000000000000000000001",
+                    "0x04" : "0x8a2cbd9f40794e2205b13306f2aa0a43c60823c64b95d8601fa4f1e521ee00ff",
+                    "0x05" : "0xc1b5a1e3a81da51b10d84e880f0113ff67b863ddad3faf1f4ecf413f101200ff",
+                    "0x06" : "0xc9b0f000b68fb921f7aa6aff8100000000000000000000000000000000000001",
+                    "0x07" : "0x410be68e49452a1fbcd863bf6e8d637f8eae4979c34c88d552afbcc20fee0101",
+                    "0x08" : "0xf540cb714754b5b1eb0373833833bd7fb0ee925ce8b92962500b7a1c22120101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60126101000a6101000a600055601260ff0a6101000a60015560126101010a6101000a60025560126101000a60ff0a600355601260ff0a60ff0a60045560126101010a60ff0a60055560126101000a6101010a600655601260ff0a6101010a60075560126101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_19.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_19.json
new file mode 100644
index 0000000..0e504ad
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_19.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_19" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_19Filler.json",
+            "sourceHash" : "b3d17455920e3967763375a04bc0e859d6594185239f6fccab1619e6680fbec3"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60136101000a6101000a600055601360ff0a6101000a60015560136101010a6101000a60025560136101000a60ff0a600355601360ff0a60ff0a60045560136101010a60ff0a60055560136101000a6101010a600655601360ff0a6101010a60075560136101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2a84",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60136101000a6101000a600055601360ff0a6101000a60015560136101010a6101000a60025560136101000a60ff0a600355601360ff0a60ff0a60045560136101010a60ff0a60055560136101000a6101010a600655601360ff0a6101010a60075560136101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x8218879ec55c33085514ff7f0000000000000000000000000000000000000001",
+                    "0x04" : "0xb795ad7ac24cfbb7435cf53bd3584f3d4b2709935635c3ceb66e761ff091feff",
+                    "0x05" : "0x1f0bb7be91a0ccd0cca93d75cf03de3e6b56fe8f1c54242617665327219300ff",
+                    "0x06" : "0xb0f000b68fb921f7aa6aff810000000000000000000000000000000000000001",
+                    "0x07" : "0xad571756ecbff1bfdef064861e5e92c5d897a9cc380e54bdbaabd80bb793ff01",
+                    "0x08" : "0xd8b5b531989e689f700dcdb43ab90e79a49dfbbb5a13dbf751df98bb34930101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60136101000a6101000a600055601360ff0a6101000a60015560136101010a6101000a60025560136101000a60ff0a600355601360ff0a60ff0a60045560136101010a60ff0a60055560136101000a6101010a600655601360ff0a6101010a60075560136101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_2.json
new file mode 100644
index 0000000..e092a1e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_2.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_2Filler.json",
+            "sourceHash" : "4acafeba97d5abc001cf4553ad3317c3bd25f0aeb8c4aa4f7bbee5792d846f8a"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60026101000a6101000a600055600260ff0a6101000a60015560026101010a6101000a60025560026101000a60ff0a600355600260ff0a60ff0a60045560026101010a60ff0a60055560026101000a6101010a600655600260ff0a6101010a60075560026101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d307e",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60026101000a6101000a600055600260ff0a6101000a60015560026101010a6101000a60025560026101000a60ff0a600355600260ff0a60ff0a60045560026101010a60ff0a60055560026101000a6101010a600655600260ff0a6101010a60075560026101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x4ee4ceeaac565c81f55a87c43f82f7c889ef4fc7c679671e28d594ff7f000001",
+                    "0x04" : "0x82f46a1b4e34d66712910615d2571d75606ceac51fa8ca8c58cf6ca881fe00ff",
+                    "0x05" : "0x81c9fcefa5de158ae2007f25d35c0d11cd735342a48905955a5a6852800200ff",
+                    "0x06" : "0x666ac362902470ed850709e2a29969d10cba09debc03c38d172aeaff81000001",
+                    "0x07" : "0xeb30a3c678a01bde914548f98f3366dc0ffe9f85384ebf1111d03dad7ffe0101",
+                    "0x08" : "0x72d0a7939b6303ce1d46e6e3f1b8be303bfdb2b00f41ad8076b0975782020101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60026101000a6101000a600055600260ff0a6101000a60015560026101010a6101000a60025560026101000a60ff0a600355600260ff0a60ff0a60045560026101010a60ff0a60055560026101000a6101010a600655600260ff0a6101010a60075560026101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_20.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_20.json
new file mode 100644
index 0000000..302ae46
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_20.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_20" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_20Filler.json",
+            "sourceHash" : "28a2bcb656eeef07c781e427018557d309af42d817f1e81d77d6f4e56b4d0d66"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60146101000a6101000a600055601460ff0a6101000a60015560146101010a6101000a60025560146101000a60ff0a600355601460ff0a60ff0a60045560146101010a60ff0a60055560146101000a6101010a600655601460ff0a6101010a60075560146101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2a2a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60146101000a6101000a600055601460ff0a6101000a60015560146101010a6101000a60025560146101000a60ff0a600355601460ff0a60ff0a60045560146101010a60ff0a60055560146101000a6101010a600655601460ff0a6101010a60075560146101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x18879ec55c33085514ff7f000000000000000000000000000000000000000001",
+                    "0x04" : "0x67e4797dc21f02ce4a7c52218c7dbea5d212e6c244e24f0ba4c08613c7ec00ff",
+                    "0x05" : "0xa1ce1a085f258785846939cc1d2e8725ac94ad4dff8913234e00679fb41400ff",
+                    "0x06" : "0xf000b68fb921f7aa6aff81000000000000000000000000000000000000000001",
+                    "0x07" : "0xcce501857a1cb45473915a28082af950e0f78f7e2de68ce748adb661b3ec0101",
+                    "0x08" : "0x3b2e28d274a16c08b58a23bad63bba6d7b09685769d1f68ca3873bedc8140101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60146101000a6101000a600055601460ff0a6101000a60015560146101010a6101000a60025560146101000a60ff0a600355601460ff0a60ff0a60045560146101010a60ff0a60055560146101000a6101010a600655601460ff0a6101010a60075560146101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_21.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_21.json
new file mode 100644
index 0000000..f7ccdfb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_21.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_21" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_21Filler.json",
+            "sourceHash" : "ce31f7226e75f9fee23ba98475c75e8ebc1a1aae106dc668c05af1df2c8ab065"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60156101000a6101000a600055601560ff0a6101000a60015560156101010a6101000a60025560156101000a60ff0a600355601560ff0a60ff0a60045560156101010a60ff0a60055560156101000a6101010a600655601560ff0a6101010a60075560156101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d29d0",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60156101000a6101000a600055601560ff0a6101000a60015560156101010a6101000a60025560156101000a60ff0a600355601560ff0a60ff0a60045560156101010a60ff0a60055560156101000a6101010a600655601560ff0a6101010a60075560156101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x879ec55c33085514ff7f00000000000000000000000000000000000000000001",
+                    "0x04" : "0x7fd07055ff50cdfe4b4bd9a15133d72d3607d92eb7ac81bac93db7ff4c93feff",
+                    "0x05" : "0x665ac5c769e87f61d5993abc26522fbfca2734d76a63216b2d550d29c79500ff",
+                    "0x06" : "0xb68fb921f7aa6aff8100000000000000000000000000000000000000000001",
+                    "0x07" : "0x1c93db67c9884bc694686d69a25a5d7ed089841d5ce147fdd7199ab00d95ff01",
+                    "0x08" : "0x485053d8ff66be52036597520344fac87b6a305426a9e49221d3f934dc950101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60156101000a6101000a600055601560ff0a6101000a60015560156101010a6101000a60025560156101000a60ff0a600355601560ff0a60ff0a60045560156101010a60ff0a60055560156101000a6101010a600655601560ff0a6101010a60075560156101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_22.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_22.json
new file mode 100644
index 0000000..b7f70e5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_22.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_22" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_22Filler.json",
+            "sourceHash" : "1864d1e3ce4e858e3fb1df58a1a1c4d395a876587aa0a0fb5928e7043ba577ab"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60166101000a6101000a600055601660ff0a6101000a60015560166101010a6101000a60025560166101000a60ff0a600355601660ff0a60ff0a60045560166101010a60ff0a60055560166101000a6101010a600655601660ff0a6101010a60075560166101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2976",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60166101000a6101000a600055601660ff0a6101000a60015560166101010a6101000a60025560166101000a60ff0a600355601660ff0a60ff0a60045560166101010a60ff0a60055560166101000a6101010a600655601660ff0a6101010a60075560166101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x9ec55c33085514ff7f0000000000000000000000000000000000000000000001",
+                    "0x04" : "0xec447e662ac08957d7e290a421dbf54c0aaf43aadc9cc465ad0b02f071ea00ff",
+                    "0x05" : "0xdc9178d3bab470096f01477c859b5f4173986640b659426412a653465c1600ff",
+                    "0x06" : "0xb68fb921f7aa6aff810000000000000000000000000000000000000000000001",
+                    "0x07" : "0xdcf0a770777610503596ae0311af46c171151ed45107d7e7bb8f74bb5bea0101",
+                    "0x08" : "0x4d65773387993928c95c861274232d3fb6f6b7fe1b22e4e61a30e71172160101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60166101000a6101000a600055601660ff0a6101000a60015560166101010a6101000a60025560166101000a60ff0a600355601660ff0a60ff0a60045560166101010a60ff0a60055560166101000a6101010a600655601660ff0a6101010a60075560166101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_23.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_23.json
new file mode 100644
index 0000000..a3dd31e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_23.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_23" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_23Filler.json",
+            "sourceHash" : "59458d1ca0bed9d77cd0c5edbc0e54d38c5ad5a846832a5d376fa40ed33b38a3"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60176101000a6101000a600055601760ff0a6101000a60015560176101010a6101000a60025560176101000a60ff0a600355601760ff0a60ff0a60045560176101010a60ff0a60055560176101000a6101010a600655601760ff0a6101010a60075560176101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d291c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60176101000a6101000a600055601760ff0a6101000a60015560176101010a6101000a60025560176101000a60ff0a600355601760ff0a60ff0a60045560176101010a60ff0a60055560176101000a6101010a600655601760ff0a6101010a60075560176101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xc55c33085514ff7f000000000000000000000000000000000000000000000001",
+                    "0x04" : "0x537ca0f03f974303005f1e6693b55b72315a166841732e42b8353724a495feff",
+                    "0x05" : "0x86418797ec60058de6cca47dfdbee79923ac49d7801e01840041ca76719700ff",
+                    "0x06" : "0x8fb921f7aa6aff81000000000000000000000000000000000000000000000001",
+                    "0x07" : "0x56a55341ab8d4318f1cfb55d5f21e2ba35d7e070a72bac6b2b21baae5f97ff01",
+                    "0x08" : "0x55ddd0ec77909de6d8311116cf520398e816f928b06fdd90ec239d0488970101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60176101000a6101000a600055601760ff0a6101000a60015560176101010a6101000a60025560176101000a60ff0a600355601760ff0a60ff0a60045560176101010a60ff0a60055560176101000a6101010a600655601760ff0a6101010a60075560176101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_24.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_24.json
new file mode 100644
index 0000000..0df6487
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_24.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_24" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_24Filler.json",
+            "sourceHash" : "1b4edb8fa036e53019ae028a7a383b39f742e6bf22bee9e00d94adfc6e68b47b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60186101000a6101000a600055601860ff0a6101000a60015560186101010a6101000a60025560186101000a60ff0a600355601860ff0a60ff0a60045560186101010a60ff0a60055560186101000a6101010a600655601860ff0a6101010a60075560186101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d28c2",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60186101000a6101000a600055601860ff0a6101000a60015560186101010a6101000a60025560186101000a60ff0a600355601860ff0a60ff0a60045560186101010a60ff0a60055560186101000a6101010a600655601860ff0a6101010a60075560186101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x5c33085514ff7f00000000000000000000000000000000000000000000000001",
+                    "0x04" : "0xd542e526003539ead104274aff2d78332366e29d328c2161f0c120731fe800ff",
+                    "0x05" : "0xc706cb25e8384ce9bb5c9cb48415238ba03e16c448e292c0a101843b081800ff",
+                    "0x06" : "0xb921f7aa6aff8100000000000000000000000000000000000000000000000001",
+                    "0x07" : "0x4ca55f89202c524cb0f1cb3195d13c8d94a9f7a05c59e1d4031577c707e80101",
+                    "0x08" : "0x8c4b0574e9156b80035f3ecdcf1fe79d273ed7559747a4322bcd338f20180101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60186101000a6101000a600055601860ff0a6101000a60015560186101010a6101000a60025560186101000a60ff0a600355601860ff0a60ff0a60045560186101010a60ff0a60055560186101000a6101010a600655601860ff0a6101010a60075560186101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_25.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_25.json
new file mode 100644
index 0000000..577d6dd
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_25.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_25" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_25Filler.json",
+            "sourceHash" : "891bed4ac0ec9773ed841398658d6003956d9e7a90b3f978cd82bb39950e505e"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60196101000a6101000a600055601960ff0a6101000a60015560196101010a6101000a60025560196101000a60ff0a600355601960ff0a60ff0a60045560196101010a60ff0a60055560196101000a6101010a600655601960ff0a6101010a60075560196101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2868",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60196101000a6101000a600055601960ff0a6101000a60015560196101010a6101000a60025560196101000a60ff0a600355601960ff0a60ff0a60045560196101010a60ff0a60055560196101000a6101010a600655601960ff0a6101010a60075560196101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x33085514ff7f0000000000000000000000000000000000000000000000000001",
+                    "0x04" : "0x7f510dd7198cac0a92ff7ea80451838c0dfa12114c41a0ef05907397f897feff",
+                    "0x05" : "0x1275e752b6aee228ecba5e9b57ef1111deff3c651e2cfbf2cccd13151f9900ff",
+                    "0x06" : "0x21f7aa6aff810000000000000000000000000000000000000000000000000001",
+                    "0x07" : "0x6646340ad51a03bb710caf05756b685b33c7dad62ae68d369243700ead99ff01",
+                    "0x08" : "0x29d80e8060ef2221929bb18215586c742686d6860e028ca0456b443238990101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60196101000a6101000a600055601960ff0a6101000a60015560196101010a6101000a60025560196101000a60ff0a600355601960ff0a60ff0a60045560196101010a60ff0a60055560196101000a6101010a600655601960ff0a6101010a60075560196101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_26.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_26.json
new file mode 100644
index 0000000..6cb65c0
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_26.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_26" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_26Filler.json",
+            "sourceHash" : "91155b6c8b8046e52ba081d310aeaa31ab62e5efe023791f7fbfc4607820c53b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601a6101000a6101000a600055601a60ff0a6101000a600155601a6101010a6101000a600255601a6101000a60ff0a600355601a60ff0a60ff0a600455601a6101010a60ff0a600555601a6101000a6101010a600655601a60ff0a6101010a600755601a6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d280e",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601a6101000a6101000a600055601a60ff0a6101000a600155601a6101010a6101000a600255601a6101000a60ff0a600355601a60ff0a60ff0a600455601a6101010a60ff0a600555601a6101000a6101010a600655601a60ff0a6101010a600755601a6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x085514ff7f000000000000000000000000000000000000000000000000000001",
+                    "0x04" : "0x1d164db738eb6893868b361ad2803f97be35764456e82a837667a693d1e600ff",
+                    "0x05" : "0x8b92c24abebf376a5aab5ff4dfd3538a03d38a10bced2aae8e1a8a85b81a00ff",
+                    "0x06" : "0xf7aa6aff81000000000000000000000000000000000000000000000000000001",
+                    "0x07" : "0x6931bda98c70e860a1f6a5224940f1ec7e6734cd9456c95806384f7cb7e60101",
+                    "0x08" : "0x3402a9db66492dfc2a220715e76243469462f24edc56903ba1d8e96ed21a0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601a6101000a6101000a600055601a60ff0a6101000a600155601a6101010a6101000a600255601a6101000a60ff0a600355601a60ff0a60ff0a600455601a6101010a60ff0a600555601a6101000a6101010a600655601a60ff0a6101010a600755601a6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_27.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_27.json
new file mode 100644
index 0000000..8d986e6
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_27.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_27" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_27Filler.json",
+            "sourceHash" : "4124a4228fdb4337e41c39d033d590cad0f7518e0facbbb94c68ae791773de50"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601b6101000a6101000a600055601b60ff0a6101000a600155601b6101010a6101000a600255601b6101000a60ff0a600355601b60ff0a60ff0a600455601b6101010a60ff0a600555601b6101000a6101010a600655601b60ff0a6101010a600755601b6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d27b4",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601b6101000a6101000a600055601b60ff0a6101000a600155601b6101010a6101000a600255601b6101000a60ff0a600355601b60ff0a60ff0a600455601b6101010a60ff0a600555601b6101000a6101010a600655601b60ff0a6101010a600755601b6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x5514ff7f00000000000000000000000000000000000000000000000000000001",
+                    "0x04" : "0x178918ffbcb401d4efd2f7dfb4d01a897172267f0f491121ac52dd614899feff",
+                    "0x05" : "0x38ecff71480ca0b422f2ed6f780d5fead2ae234a49104b10a86f7f0dd19b00ff",
+                    "0x06" : "0xaa6aff8100000000000000000000000000000000000000000000000000000001",
+                    "0x07" : "0xd02811cb5dc1d80567e810532b235b7672f5c78cd6e89bb511d5e2d8f79bff01",
+                    "0x08" : "0x1b4e6404f474c18055d30bb8987672f59e97980d6f9de1764c0fbec5ec9b0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601b6101000a6101000a600055601b60ff0a6101000a600155601b6101010a6101000a600255601b6101000a60ff0a600355601b60ff0a60ff0a600455601b6101010a60ff0a600555601b6101000a6101010a600655601b60ff0a6101010a600755601b6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_28.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_28.json
new file mode 100644
index 0000000..c1a6d68
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_28.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_28" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_28Filler.json",
+            "sourceHash" : "fc3550497d4af3b468d464b141fedbbbc7a8d73901226c9b240c67d7441e9a6b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601c6101000a6101000a600055601c60ff0a6101000a600155601c6101010a6101000a600255601c6101000a60ff0a600355601c60ff0a60ff0a600455601c6101010a60ff0a600555601c6101000a6101010a600655601c60ff0a6101010a600755601c6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d275a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601c6101000a6101000a600055601c60ff0a6101000a600155601c6101010a6101000a600255601c6101000a60ff0a600355601c60ff0a60ff0a600455601c6101010a60ff0a600555601c6101000a6101010a600655601c60ff0a6101010a600755601c6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x14ff7f0000000000000000000000000000000000000000000000000000000001",
+                    "0x04" : "0xffd368e44b3f85cb81ae394c9809ca9fa2db46a83d7880a912ab6d4a87e400ff",
+                    "0x05" : "0x0981ad53c19b15a94bcf0bf20235dd0da9df25f46ae635029fe2062e6c1c00ff",
+                    "0x06" : "0x6aff810000000000000000000000000000000000000000000000000000000001",
+                    "0x07" : "0x19df06ffa28250867006726405fbc05d43dc2f9d2f025006db089bd46be40101",
+                    "0x08" : "0x243fffe3a4f2982f45055c08f379648ab886da8027a7401117a8e0b8881c0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601c6101000a6101000a600055601c60ff0a6101000a600155601c6101010a6101000a600255601c6101000a60ff0a600355601c60ff0a60ff0a600455601c6101010a60ff0a600555601c6101000a6101010a600655601c60ff0a6101010a600755601c6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_29.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_29.json
new file mode 100644
index 0000000..6af95f6
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_29.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_29" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_29Filler.json",
+            "sourceHash" : "da93fa671adb7f47f43721827330841e127ee6c2c164a893033777401c02918c"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601d6101000a6101000a600055601d60ff0a6101000a600155601d6101010a6101000a600255601d6101000a60ff0a600355601d60ff0a60ff0a600455601d6101010a60ff0a600555601d6101000a6101010a600655601d60ff0a6101010a600755601d6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2700",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601d6101000a6101000a600055601d60ff0a6101000a600155601d6101010a6101000a600255601d6101000a60ff0a600355601d60ff0a60ff0a600455601d6101010a60ff0a600555601d6101000a6101010a600655601d60ff0a6101010a600755601d6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xff7f000000000000000000000000000000000000000000000000000000000001",
+                    "0x04" : "0x41e065d46e0349cfe624c4e8a2034aea1f7edfff80e511cd8067d488949bfeff",
+                    "0x05" : "0xa84162ca6675a22c4c79dfc4ea15f760db5a04dbf04246764199b668879d00ff",
+                    "0x06" : "0xff81000000000000000000000000000000000000000000000000000000000001",
+                    "0x07" : "0x1226984faa6b05ebdbd45d8477fa4fd5b55bfd5061de03c319282b153d9dff01",
+                    "0x08" : "0x5cc9e6b0b749fd94541ad00364bdec2fca7816981ca3e38f485decc7a49d0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601d6101000a6101000a600055601d60ff0a6101000a600155601d6101010a6101000a600255601d6101000a60ff0a600355601d60ff0a60ff0a600455601d6101010a60ff0a600555601d6101000a6101010a600655601d60ff0a6101010a600755601d6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_3.json
new file mode 100644
index 0000000..3b5892d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_3.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_3Filler.json",
+            "sourceHash" : "0d353f94476ec586544ac83820f31cc5e0cea23cc0e6430bd63d1646dcf3329c"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60036101000a6101000a600055600360ff0a6101000a60015560036101010a6101000a60025560036101000a60ff0a600355600360ff0a60ff0a60045560036101010a60ff0a60055560036101000a6101010a600655600360ff0a6101010a60075560036101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d3024",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60036101000a6101000a600055600360ff0a6101000a60015560036101010a6101000a60025560036101000a60ff0a600355600360ff0a60ff0a60045560036101010a60ff0a60055560036101000a6101010a600655600360ff0a6101010a60075560036101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x109a00e1370d2d2922bf892e85becb54297354b2e5c75388d514ff7f00000001",
+                    "0x04" : "0x54a792f15e9aba7e4ad9e716bc169eea3a6e2e9c49bf9b335874613c8081feff",
+                    "0x05" : "0x5d24a14d8e5e039372cd0f6a0f31e9ed6b75adba9f16b1c5b3edd5ba818300ff",
+                    "0x06" : "0x298e2f316b4ccded5ebf515998d9ec20df69404b04a441782a6aff8100000001",
+                    "0x07" : "0x4335694e98f372183c62a2339fa4ad161e9b4c42240bdc9452abffd07783ff01",
+                    "0x08" : "0xf0f0820797315acd063056bba76f6a9c3e281cdb5197a233967ca94684830101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60036101000a6101000a600055600360ff0a6101000a60015560036101010a6101000a60025560036101000a60ff0a600355600360ff0a60ff0a60045560036101010a60ff0a60055560036101000a6101010a600655600360ff0a6101010a60075560036101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_30.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_30.json
new file mode 100644
index 0000000..d203253
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_30.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_30" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_30Filler.json",
+            "sourceHash" : "ba97f0694006de4d647da8fe7145eba478cd208e36d40e1a89835fbfa7a16f4d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601e6101000a6101000a600055601e60ff0a6101000a600155601e6101010a6101000a600255601e6101000a60ff0a600355601e60ff0a60ff0a600455601e6101010a60ff0a600555601e6101000a6101010a600655601e60ff0a6101010a600755601e6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d26a6",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601e6101000a6101000a600055601e60ff0a6101000a600155601e6101010a6101000a600255601e6101000a60ff0a600355601e60ff0a60ff0a600455601e6101010a60ff0a600555601e6101000a6101010a600655601e60ff0a6101010a600755601e6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x7f00000000000000000000000000000000000000000000000000000000000001",
+                    "0x04" : "0xe9772778f50fa0a69cd10fa019ac56d72ac7a7d7af26c4ba28415c8f41e200ff",
+                    "0x05" : "0x33f0385ef73feebdb952e5adb643dd0fa178fd9271578219ad50a73d241e00ff",
+                    "0x06" : "0x8100000000000000000000000000000000000000000000000000000000000001",
+                    "0x07" : "0xfd405cce8f73dffc04a6f0ff6ffc6bf7961876d09c5b4933a68f0cc623e20101",
+                    "0x08" : "0xc5a8f4566fd2e96e4ce3a8b3ec0863e7b20bc3b2f3dc5261ba8a0174421e0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601e6101000a6101000a600055601e60ff0a6101000a600155601e6101010a6101000a600255601e6101000a60ff0a600355601e60ff0a60ff0a600455601e6101010a60ff0a600555601e6101000a6101010a600655601e60ff0a6101010a600755601e6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_31.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_31.json
new file mode 100644
index 0000000..b0a530f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_31.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_31" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_31Filler.json",
+            "sourceHash" : "a9ad8ebc42134fbd70afd66cbd219c91db4c2ebed533b18732e37b95eb66cb51"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601f6101000a6101000a600055601f60ff0a6101000a600155601f6101010a6101000a600255601f6101000a60ff0a600355601f60ff0a60ff0a600455601f6101010a60ff0a600555601f6101000a6101010a600655601f60ff0a6101010a600755601f6101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d264c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601f6101000a6101000a600055601f60ff0a6101000a600155601f6101010a6101000a600255601f6101000a60ff0a600355601f60ff0a60ff0a600455601f6101010a60ff0a600555601f6101000a6101010a600655601f60ff0a6101010a600755601f6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x01",
+                    "0x04" : "0xf9cb87f5b1ab58602f52a1e9d392e5675b86a59a53943a8d4ec2a915dc9dfeff",
+                    "0x05" : "0x893d729a64e318860ec5047e70e598da163eb41e71e74b04dfd4712d419f00ff",
+                    "0x06" : "0x01",
+                    "0x07" : "0xee5f2839c1b4f6ca05e6fdb04e2fb49c0f860b3765c27dc781a150cb7f9fff01",
+                    "0x08" : "0xb4c358e3c6bcddfb509ea487d733df0e1854f29c3b6bfd4a8caabe3f609f0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601f6101000a6101000a600055601f60ff0a6101000a600155601f6101010a6101000a600255601f6101000a60ff0a600355601f60ff0a60ff0a600455601f6101010a60ff0a600555601f6101000a6101010a600655601f60ff0a6101010a600755601f6101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_32.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_32.json
new file mode 100644
index 0000000..f98383a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_32.json
@@ -0,0 +1,58 @@
+{
+    "expPowerOf256Of256_32" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_32Filler.json",
+            "sourceHash" : "30079e7074be5e6aedc66360209bdb318504144e2ee9b6cbc153ddd432927ca3"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60206101000a6101000a600055602060ff0a6101000a60015560206101010a6101000a60025560206101000a60ff0a600355602060ff0a60ff0a60045560206101010a60ff0a60055560206101000a6101010a600655602060ff0a6101010a60075560206101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0cef56",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60206101000a6101000a600055602060ff0a6101000a60015560206101010a6101000a60025560206101000a60ff0a600355602060ff0a60ff0a60045560206101010a60ff0a60055560206101000a6101010a600655602060ff0a6101010a60075560206101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01",
+                    "0x03" : "0x01",
+                    "0x04" : "0xb8247842bb5ce75c08d0c251669ed5870fa24a22952e5db3a7c66c59ffe000ff",
+                    "0x05" : "0xee526e5a06f2a990b2bf6c951e5feabf0e07ee16877296e1be872db9e02000ff",
+                    "0x06" : "0x01",
+                    "0x07" : "0xeda7d024b6de40a9d3b966e71f10a4667edc5b71cab07aeabcac6249dfe00101",
+                    "0x08" : "0x512ecfaeeb11205f0833e1054dcb1300488e0954be5af77a49e143aa00200101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60206101000a6101000a600055602060ff0a6101000a60015560206101010a6101000a60025560206101000a60ff0a600355602060ff0a60ff0a60045560206101010a60ff0a60055560206101000a6101010a600655602060ff0a6101010a60075560206101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_33.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_33.json
new file mode 100644
index 0000000..2e1861f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_33.json
@@ -0,0 +1,58 @@
+{
+    "expPowerOf256Of256_33" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_33Filler.json",
+            "sourceHash" : "309cad197914241d0815b1ea0e5b2fa1b2464bc8f116e8c741be190402362040"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60216101000a6101000a600055602160ff0a6101000a60015560216101010a6101000a60025560216101000a60ff0a600355602160ff0a60ff0a60045560216101010a60ff0a60055560216101000a6101010a600655602160ff0a6101010a60075560216101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0cef56",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60216101000a6101000a600055602160ff0a6101000a60015560216101010a6101000a60025560216101000a60ff0a600355602160ff0a60ff0a60045560216101010a60ff0a60055560216101000a6101010a600655602160ff0a6101010a60075560216101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01",
+                    "0x03" : "0x01",
+                    "0x04" : "0x8dcb65b5494eba78cd6756a6f9851f6e26d0f2bb9ecd7e9abd7e9b11209ffeff",
+                    "0x05" : "0x6694bb31b20cd625f3756897dae6d738f2e64467b5b6f10fa3e07763ffa100ff",
+                    "0x06" : "0x01",
+                    "0x07" : "0xe678999aeffd1f1f45081f64de7f80ab083dd7df04721ed64ee04c03bda1ff01",
+                    "0x08" : "0x39b68fb9898dd7568abd178397251ce8226a25c1d305a4e79573333520a10101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60216101000a6101000a600055602160ff0a6101000a60015560216101010a6101000a60025560216101000a60ff0a600355602160ff0a60ff0a60045560216101010a60ff0a60055560216101000a6101010a600655602160ff0a6101010a60075560216101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_4.json
new file mode 100644
index 0000000..335c35c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_4.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_4Filler.json",
+            "sourceHash" : "15a82b6b15b546d6833940c50fc1a1533d095029771685bbb9d71ce19c9c274d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60046101000a6101000a600055600460ff0a6101000a60015560046101010a6101000a60025560046101000a60ff0a600355600460ff0a60ff0a60045560046101010a60ff0a60055560046101000a6101010a600655600460ff0a6101010a60075560046101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2fca",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60046101000a6101000a600055600460ff0a6101000a60015560046101010a6101000a60025560046101000a60ff0a600355600460ff0a60ff0a60045560046101010a60ff0a60055560046101000a6101010a600655600460ff0a6101010a60075560046101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xe6540ce46eaf70da9d644015a661e0e245b13f307cb3885514ff7f0000000001",
+                    "0x04" : "0x6526b38b05a6325b80e1c84ab41dc934fd70f33f1bd0eab3d1f61a4707fc00ff",
+                    "0x05" : "0xe959516cd27e5d8fd487b72db2989b3ec2ba9fb7ead41554526fe5a3040400ff",
+                    "0x06" : "0xe7498a48c6ce2530bbe814ee3440c8c44fffab7ad8a277aa6aff810000000001",
+                    "0x07" : "0x2dffa3e901e5a392d15b79f4193d2168147d2aa7c55870b46c3a905d03fc0101",
+                    "0x08" : "0xe16ea721c96539edb4f7fb82de0dad8cccb1e7a6966a6777635f6fb908040101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60046101000a6101000a600055600460ff0a6101000a60015560046101010a6101000a60025560046101000a60ff0a600355600460ff0a60ff0a60045560046101010a60ff0a60055560046101000a6101010a600655600460ff0a6101010a60075560046101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_5.json
new file mode 100644
index 0000000..313b12f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_5.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_5" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_5Filler.json",
+            "sourceHash" : "4967a3a55893b2fd9b6e6da221dda33b0a051d7bdd1699063c11aff2a0bf8f36"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60056101000a6101000a600055600560ff0a6101000a60015560056101010a6101000a60025560056101000a60ff0a600355600560ff0a60ff0a60045560056101010a60ff0a60055560056101000a6101010a600655600560ff0a6101010a60075560056101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2f70",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60056101000a6101000a600055600560ff0a6101000a60015560056101010a6101000a60025560056101000a60ff0a600355600560ff0a60ff0a60045560056101010a60ff0a60055560056101000a6101010a600655600560ff0a6101010a60075560056101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0xb581ac185aad71db2d177c286929c4c22809e5dcb3085514ff7f000000000001",
+                    "0x04" : "0x75789eb2a64bc971389fbd11a1e6d7abbf95ad25e23fb9aa25e73a0bfc83feff",
+                    "0x05" : "0xfc403fa42ceb6a0d0d3321bd9b2d8af25b1b667f87a04f496c78168d078500ff",
+                    "0x06" : "0xcec5ec213b9cb5811f6ae00428fd7b6ef5a1af39a1f7aa6aff81000000000001",
+                    "0x07" : "0x70ab32233202b98d382d17713fa0be391eaf74f85ba1740c9c3238c4ed85ff01",
+                    "0x08" : "0xb622672a213faa79b32185ff93a7b27a8499e48f7b032cdb4d1a70300c850101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60056101000a6101000a600055600560ff0a6101000a60015560056101010a6101000a60025560056101000a60ff0a600355600560ff0a60ff0a60045560056101010a60ff0a60055560056101000a6101010a600655600560ff0a6101010a60075560056101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_6.json
new file mode 100644
index 0000000..7a8a7af
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_6.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_6" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_6Filler.json",
+            "sourceHash" : "7497f803e2e645f97ecb3019988f5dc7ab846b674d269152e757748253ba76ed"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60066101000a6101000a600055600660ff0a6101000a60015560066101010a6101000a60025560066101000a60ff0a600355600660ff0a60ff0a60045560066101010a60ff0a60055560066101000a6101010a600655600660ff0a6101010a60075560066101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2f16",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60066101000a6101000a600055600660ff0a6101000a60015560066101010a6101000a60025560066101000a60ff0a600355600660ff0a60ff0a60045560066101010a60ff0a60055560066101000a6101010a600655600660ff0a6101010a60075560066101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x1948059de1def03c4ec35fc22c2bb8f2bf45dc33085514ff7f00000000000001",
+                    "0x04" : "0x41f818a8e24eb6d7bb7b193b4f2b5fdcf4bd0d453f2ac3499d8830d391fa00ff",
+                    "0x05" : "0xede6fe4a943dfb5d967a2b85d6728759d40d2ef0ae4bc28bbb1867f98c0600ff",
+                    "0x06" : "0x083c936cbaad5de592badc2e142fe4ebd6103921f7aa6aff8100000000000001",
+                    "0x07" : "0x57385019fe4e0939ca3f35c37cadfaf52fba5b1cdfb02def3866e8068bfa0101",
+                    "0x08" : "0x810ac878bd98428f6be8c6426ba9f9da09e3e33bf4fe10bfa3f8b12c92060101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60066101000a6101000a600055600660ff0a6101000a60015560066101010a6101000a60025560066101000a60ff0a600355600660ff0a60ff0a60045560066101010a60ff0a60055560066101000a6101010a600655600660ff0a6101010a60075560066101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_7.json
new file mode 100644
index 0000000..d624720
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_7.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_7" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_7Filler.json",
+            "sourceHash" : "23ef683bd7f691f313e4d06529abe5763067a61fa1ecc5734f1d828b3220ba58"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60076101000a6101000a600055600760ff0a6101000a60015560076101010a6101000a60025560076101000a60ff0a600355600760ff0a60ff0a60045560076101010a60ff0a60055560076101000a6101010a600655600760ff0a6101010a60075560076101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2ebc",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60076101000a6101000a600055600760ff0a6101000a60015560076101010a6101000a60025560076101000a60ff0a600355600760ff0a60ff0a60045560076101010a60ff0a60055560076101000a6101010a600655600760ff0a6101010a60075560076101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x8bb02654111ad8c60ad8af132283a81f455c33085514ff7f0000000000000001",
+                    "0x04" : "0xa8f75c129dbb8466d6703a2a0b8212131b3248d70e2478862ac40fe17485feff",
+                    "0x05" : "0x5fd4d2de580383ee59f5e800ddb3f1717ceae03aede19d3dec5e5a69918700ff",
+                    "0x06" : "0xc8624230b524b85d6340da48a5db20370fb921f7aa6aff810000000000000001",
+                    "0x07" : "0x287b58a5a13cd7f454468ca616c181712f5ed25433a7d5a894b6ced35f87ff01",
+                    "0x08" : "0x09930d11ac2804fa977bf951593c8dff8498779cc0cdc5812a4fba2f98870101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60076101000a6101000a600055600760ff0a6101000a60015560076101010a6101000a60025560076101000a60ff0a600355600760ff0a60ff0a60045560076101010a60ff0a60055560076101000a6101010a600655600760ff0a6101010a60075560076101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_8.json
new file mode 100644
index 0000000..4af8b2b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_8.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_8" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_8Filler.json",
+            "sourceHash" : "8c79d62d4acf560639430ce984929eef7a3577f5356197021b759e02462b212d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x05f5e100",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60086101000a6101000a600055600860ff0a6101000a60015560086101010a6101000a60025560086101000a60ff0a600355600860ff0a60ff0a60045560086101010a60ff0a60055560086101000a6101010a600655600860ff0a6101010a60075560086101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x989680",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9682a2",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60086101000a6101000a600055600860ff0a6101000a60015560086101010a6101000a60025560086101000a60ff0a600355600860ff0a60ff0a60045560086101010a60ff0a60055560086101000a6101010a600655600860ff0a6101010a60075560086101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x230041a0e7602d6e459609ed39081ec55c33085514ff7f000000000000000001",
+                    "0x04" : "0xc407d8a413ef9079ead457ed686a05ac81039c0cae0a7f6afd01e8461ff800ff",
+                    "0x05" : "0x67a397e0692385e4cd83853aabce220a94d449e885fa867e96d3ef5e180800ff",
+                    "0x06" : "0x70add926e753655d6d0ebe9c0f81368fb921f7aa6aff81000000000000000001",
+                    "0x07" : "0x0bdce80b8378e43f13d454b9d0a4c83cf311b8eaa45d5122cfd544a217f80101",
+                    "0x08" : "0x629c25790e1488998877a9ecdf0fb69637e77d8a4bdc1b46270093ba20080101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60086101000a6101000a600055600860ff0a6101000a60015560086101010a6101000a60025560086101000a60ff0a600355600860ff0a60ff0a60045560086101010a60ff0a60055560086101000a6101010a600655600860ff0a6101010a60075560086101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_9.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_9.json
new file mode 100644
index 0000000..f72be30
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256Of256_9.json
@@ -0,0 +1,57 @@
+{
+    "expPowerOf256Of256_9" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256Of256_9Filler.json",
+            "sourceHash" : "ea1320eababf69ee5d14ea77f0f53127aefd12503de3a546cd6bc9d670bc9ae0"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60096101000a6101000a600055600960ff0a6101000a60015560096101010a6101000a60025560096101000a60ff0a600355600960ff0a60ff0a60045560096101010a60ff0a60055560096101000a6101010a600655600960ff0a6101010a60075560096101010a6101010a60085500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0d2e08",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60096101000a6101000a600055600960ff0a6101000a60015560096101010a6101000a60025560096101000a60ff0a600355600960ff0a60ff0a60045560096101010a60ff0a60055560096101000a6101010a600655600960ff0a6101010a60075560096101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x03" : "0x53017d8eb210db2c8cd4a299079ec55c33085514ff7f00000000000000000001",
+                    "0x04" : "0x48be09b6c6ae2aa660f1972125cecbb1038b5d236ecf766ba786e2c4e887feff",
+                    "0x05" : "0x2e350d847ba73dc2099f83f532951c47269d9fd7e411b50bae00a9581f8900ff",
+                    "0x06" : "0x013ab9e1f0df89a184b4d07080b68fb921f7aa6aff8100000000000000000001",
+                    "0x07" : "0xf387ed41c1050f9da667f429a3e8fb30b61a55ede97d7b8acd797a03cd89ff01",
+                    "0x08" : "0x525696c22bb3ce00fd2e3f6bbb9b4ea1046a5e31fcff2fedf8f8c74d28890101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60096101000a6101000a600055600960ff0a6101000a60015560096101010a6101000a60025560096101000a60ff0a600355600960ff0a60ff0a60045560096101010a60ff0a60055560096101000a6101010a600655600960ff0a6101010a60075560096101010a6101010a60085500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_1.json
new file mode 100644
index 0000000..60a0cec
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_1.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_1Filler.json",
+            "sourceHash" : "de200a852de2dfbaac6a4e35abf6fab59cdfbab1f56aafd1eb93f0ad9211c199"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60016101000a600055600160ff0a60015560016101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60016101000a600055600160ff0a60015560016101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100",
+                    "0x01" : "0xff",
+                    "0x02" : "0x0101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60016101000a600055600160ff0a60015560016101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_10.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_10.json
new file mode 100644
index 0000000..30379fe
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_10.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_10" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_10Filler.json",
+            "sourceHash" : "a5f6ad115b0e5cc14f7fcb151979f37159b21fef3196dcc3a5be664beac7bd3b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600a6101000a600055600a60ff0a600155600a6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600a6101000a600055600a60ff0a600155600a6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000",
+                    "0x01" : "0xf62c88d104d1882cf601",
+                    "0x02" : "0x010a2d78d2fcd2782d0a01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600a6101000a600055600a60ff0a600155600a6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_11.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_11.json
new file mode 100644
index 0000000..405e445
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_11.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_11" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_11Filler.json",
+            "sourceHash" : "750c0ce20e9774d1d3b4b5055465594124e7c51bb855a5db5a8fd9477a861eb4"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600b6101000a600055600b60ff0a600155600b6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600b6101000a600055600b60ff0a600155600b6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000",
+                    "0x01" : "0xf5365c4833ccb6a4c90aff",
+                    "0x02" : "0x010b37a64bcfcf4aa5370b01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600b6101000a600055600b60ff0a600155600b6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_12.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_12.json
new file mode 100644
index 0000000..dac6091
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_12.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_12" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_12Filler.json",
+            "sourceHash" : "b8813a9195391cea0c4941867086f2c92204c8fc2575caba6f3cc8880952a575"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600c6101000a600055600c60ff0a600155600c6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600c6101000a600055600c60ff0a600155600c6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000",
+                    "0x01" : "0xf44125ebeb98e9ee2441f401",
+                    "0x02" : "0x010c42ddf21b9f19efdc420c01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600c6101000a600055600c60ff0a600155600c6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_13.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_13.json
new file mode 100644
index 0000000..e9b32a5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_13.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_13" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_13Filler.json",
+            "sourceHash" : "8b548b89731e9f599b3cf42b68fc8c3a1bafa04ca653778dd8681f60d92dc753"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600d6101000a600055600d60ff0a600155600d6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600d6101000a600055600d60ff0a600155600d6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000",
+                    "0x01" : "0xf34ce4c5ffad5104361db20cff",
+                    "0x02" : "0x010d4f20d00dbab909cc1e4e0d01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600d6101000a600055600d60ff0a600155600d6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_14.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_14.json
new file mode 100644
index 0000000..6ac923a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_14.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_14" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_14Filler.json",
+            "sourceHash" : "252ecd5c07a7e59256c7c8b66ed2f29c562cb7d7e6f56359781610fc35bd1751"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600e6101000a600055600e60ff0a600155600e6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600e6101000a600055600e60ff0a600155600e6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000000000",
+                    "0x01" : "0xf25997e139ada3b331e7945af201",
+                    "0x02" : "0x010e5c6ff0ddc873c2d5ea6c5b0e01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600e6101000a600055600e60ff0a600155600e6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_15.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_15.json
new file mode 100644
index 0000000..bfcbb61
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_15.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_15" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_15Filler.json",
+            "sourceHash" : "576a6d206883b66c0753ac1a235660570333ccee3a62afb421f673904f775898"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600f6101000a600055600f60ff0a600155600f6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600f6101000a600055600f60ff0a600155600f6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000000000",
+                    "0x01" : "0xf1673e495873f60f7eb5acc6970eff",
+                    "0x02" : "0x010f6acc60cea63c3698c056c7690f01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600f6101000a600055600f60ff0a600155600f6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_16.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_16.json
new file mode 100644
index 0000000..0e0ca03
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_16.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_16" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_16Filler.json",
+            "sourceHash" : "8b074bb315aa1b0f46b4416aa4301cbbffbaede7a8202e8702ccedfbca73fd73"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60106101000a600055601060ff0a60015560106101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60106101000a600055601060ff0a60015560106101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000",
+                    "0x01" : "0xf075d70b0f1b82196f36f719d077f001",
+                    "0x02" : "0x01107a372d2f74e272cf59171e30781001"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60106101000a600055601060ff0a60015560106101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_17.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_17.json
new file mode 100644
index 0000000..ab8e55e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_17.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_17" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_17Filler.json",
+            "sourceHash" : "d772fddba0f91da85cf35303b885deb7397aeb2e99e0c3b9e365ac9e71b1556c"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60116101000a600055601160ff0a60015560116101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60116101000a600055601160ff0a60015560116101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000000000000000",
+                    "0x01" : "0xef856134040c669755c7c022b6a77810ff",
+                    "0x02" : "0x01118ab1645ca45755422870354ea8881101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60116101000a600055601160ff0a60015560116101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_18.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_18.json
new file mode 100644
index 0000000..5027bdd
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_18.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_18" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_18Filler.json",
+            "sourceHash" : "49d9c97f7ce0b19b85d219070d95ef1ed20ff601e25924da37c231823b579480"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60126101000a600055601260ff0a60015560126101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60126101000a600055601260ff0a60015560126101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000000000000000",
+                    "0x01" : "0xee95dbd2d0085a30be71f86293f0d098ee01",
+                    "0x02" : "0x01129c3c15c100fbac976a98a583f730991201"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60126101000a600055601260ff0a60015560126101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_19.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_19.json
new file mode 100644
index 0000000..2a0e2e3
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_19.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_19" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_19Filler.json",
+            "sourceHash" : "2213de8f9ea8c77efb75af5ddec5bc5fff71006a638b206dc8cfc21c66b9b367"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60136101000a600055601360ff0a60015560136101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60136101000a600055601360ff0a60015560136101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000000000",
+                    "0x01" : "0xeda745f6fd3851d68db3866a315cdfc85512ff",
+                    "0x02" : "0x0113aed851d6c1fca84402033e297b27c9ab1301"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60136101000a600055601360ff0a60015560136101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_2.json
new file mode 100644
index 0000000..0337338
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_2.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_2Filler.json",
+            "sourceHash" : "7ce8b4f97c9f57b553b98d9320cf84756dc1358e6d0dd098450956e04154c0a7"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60026101000a600055600260ff0a60015560026101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60026101000a600055600260ff0a60015560026101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000",
+                    "0x01" : "0xfe01",
+                    "0x02" : "0x010201"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60026101000a600055600260ff0a60015560026101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_20.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_20.json
new file mode 100644
index 0000000..130ca88
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_20.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_20" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_20Filler.json",
+            "sourceHash" : "b53925ba5aec61185132c26e5834b604c48ef1317409d5e869dfc4d5989f168f"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60146101000a600055601460ff0a60015560146101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60146101000a600055601460ff0a60015560146101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000000000000000000000",
+                    "0x01" : "0xecb99eb1063b1984b725d2e3c72b82e88cbdec01",
+                    "0x02" : "0x0114c2872a2898bea4ec46054167a4a2f174be1401"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60146101000a600055601460ff0a60015560146101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_21.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_21.json
new file mode 100644
index 0000000..717b1cc
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_21.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_21" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_21Filler.json",
+            "sourceHash" : "b4b00dd3d13610cebe2b263e8ee6727169cbd18034677ef5459cf1ecdc7c6214"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60156101000a600055601560ff0a60015560156101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60156101000a600055601560ff0a60015560156101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000000000000000000000",
+                    "0x01" : "0xebcce5125534de6b326ead10e3645765a4312e14ff",
+                    "0x02" : "0x0115d749b152c1576391324b46a90c47946632d21501"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60156101000a600055601560ff0a60015560156101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_22.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_22.json
new file mode 100644
index 0000000..4994bf9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_22.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_22" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_22Filler.json",
+            "sourceHash" : "f84389a4f288f4674ead15f28d20332b59a2956ecab2ff4337ffc77556be099d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60166101000a600055601660ff0a60015560166101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60166101000a600055601660ff0a60015560166101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000000000000000",
+                    "0x01" : "0xeae1182d42dfa98cc73c3e63d280f30e3e8cfce6ea01",
+                    "0x02" : "0x0116ed20fb041418baf4c37d91efb553dbfa9904e71601"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60166101000a600055601660ff0a60015560166101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_23.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_23.json
new file mode 100644
index 0000000..7bbc509
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_23.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_23" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_23Filler.json",
+            "sourceHash" : "ce5a9459e37b77bfdf80616a48d195cac5a94717e7123050ce16d68e37ff1df5"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60176101000a600055601760ff0a60015560176101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60176101000a600055601760ff0a60015560176101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe9f63715159cc9e33a7502256eae721b304e6fea0316ff",
+                    "0x02" : "0x0118040e1bff182cd3afb8410f81a5092fd6939debfd1701"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60176101000a600055601760ff0a60015560176101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_24.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_24.json
new file mode 100644
index 0000000..ee63c51
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_24.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_24" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_24Filler.json",
+            "sourceHash" : "8200490cec84b037bcf95dbceaf9538a821b40fd9124c747e17e3a8a5184062a"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60186101000a600055601860ff0a60015560186101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60186101000a600055601860ff0a60015560186101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe90c40de00872d19573a8d23493fc3a9151e217a1913e801",
+                    "0x02" : "0x01191c122a1b1745008367f9509126ae39066a3189e9141801"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60186101000a600055601860ff0a60015560186101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_25.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_25.json
new file mode 100644
index 0000000..c545819
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_25.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_25" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_25Filler.json",
+            "sourceHash" : "627d87597785de41f0447b005d97ed20e9b584467d785b7608c26e9a2bdc88b9"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60196101000a600055601960ff0a60015560196101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60196101000a600055601960ff0a60015560196101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe823349d2286a5ec3de3529625f683e56c0903589efad418ff",
+                    "0x02" : "0x011a352e3c45325c4583eb6149e1b7d4e73f709bbb72fd2c1901"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60196101000a600055601960ff0a60015560196101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_26.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_26.json
new file mode 100644
index 0000000..383e091
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_26.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_26" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_26Filler.json",
+            "sourceHash" : "4f7633e34c6fefc4711ba4c04fa2f839b386768045d24418778e45478ef16493"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601a6101000a600055601a60ff0a600155601a6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601a6101000a600055601a60ff0a600155601a6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe73b116885641f4651a56f438fd08d61869cfa55465bd944e601",
+                    "0x02" : "0x011b4f636a81778ea1c96f4cab2b998cbc26b00c572e7029451a01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601a6101000a600055601a60ff0a600155601a6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_27.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_27.json
new file mode 100644
index 0000000..9b4ccdc
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_27.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_27" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_27Filler.json",
+            "sourceHash" : "af32e47342d5698c6f7ce4928d6f1079fea24a7c6d2862247aa8bc4414958374"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601b6101000a600055601b60ff0a600155601b6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601b6101000a600055601b60ff0a600155601b6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe653d6571cdebb270b53c9d44c40bcd425165d5af1157d6ba11aff",
+                    "0x02" : "0x011c6ab2cdebf906306b38bbf7d6c52648e2d6bc63859e996e5f1b01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601b6101000a600055601b60ff0a600155601b6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_28.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_28.json
new file mode 100644
index 0000000..80bbe4c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_28.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_28" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_28Filler.json",
+            "sourceHash" : "e1d290fe5e09e9cb260682dc5f807b1d428da4be9794b0fe4ae9e3f17357d067"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601c6101000a600055601c60ff0a600155601c6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601c6101000a600055601c60ff0a600155601c6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe56d8280c5c1dc6be448760a77f47c1750f146fd962467ee3579e401",
+                    "0x02" : "0x011d871d80b9e4ff369ba3f4b3ce9beb6f2bb9931fe9243807cd7a1c01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601c6101000a600055601c60ff0a600155601c6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_29.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_29.json
new file mode 100644
index 0000000..41d6a16
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_29.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_29" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_29Filler.json",
+            "sourceHash" : "aab7c1998ef58da5855fa08942514970490212dae158ac6d36c74053f0ef17f1"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601d6101000a600055601d60ff0a600155601d6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601d6101000a600055601d60ff0a600155601d6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe48814fe44fc1a8f78642d946d7c879b39a055b6988e438647446a1cff",
+                    "0x02" : "0x011ea4a49e3a9ee435d23f98a8826a875a9ae54cb3090d5c3fd547961d01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601d6101000a600055601d60ff0a600155601d6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_3.json
new file mode 100644
index 0000000..9c4b408
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_3.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_3Filler.json",
+            "sourceHash" : "74e1aacf88f267687e5334fb452ee5e35fa3ac8dcadba20eca4a518476cb3ff6"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60036101000a600055600360ff0a60015560036101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60036101000a600055600360ff0a60015560036101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000",
+                    "0x01" : "0xfd02ff",
+                    "0x02" : "0x01030301"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60036101000a600055600360ff0a60015560036101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_30.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_30.json
new file mode 100644
index 0000000..aeca823
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_30.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_30" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_30Filler.json",
+            "sourceHash" : "c5cc110bd1fce5c0f37e2a140bb3099da0eabc7b933aca218c12c1d3db184d7f"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601e6101000a600055601e60ff0a600155601e6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601e6101000a600055601e60ff0a600155601e6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe3a38ce946b71e74e8ebc966d90f0b139e66b560e1f5b542c0fd25b2e201",
+                    "0x02" : "0x011fc34942d8d9831a0811d8412aecf1e1f58031ffbc16699c151cddb31e01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601e6101000a600055601e60ff0a600155601e6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_31.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_31.json
new file mode 100644
index 0000000..38cc113
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_31.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_31" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_31Filler.json",
+            "sourceHash" : "e577b3bbc19133fb1afad9f98f313360c86059f7f88c74f70b5210d794b63876"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601f6101000a600055601f60ff0a600155601f6101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601f6101000a600055601f60ff0a600155601f6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000000000000000000000000000000000",
+                    "0x01" : "0xe2bfe95c5d7067567402dd9d7235fc088ac84eab8113bf8d7e3c288d2f1eff",
+                    "0x02" : "0x0120e30c8c1bb25c9d2219ea196c17ded3d775b231bbd28005b131fa90d11f01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601f6101000a600055601f60ff0a600155601f6101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_32.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_32.json
new file mode 100644
index 0000000..826dd08
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_32.json
@@ -0,0 +1,53 @@
+{
+    "expPowerOf256_32" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_32Filler.json",
+            "sourceHash" : "5ea6e201e47556ddbae65e9a87171ac9728a2508943bf1c5a52c23be309f9332"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60206101000a600055602060ff0a60015560206101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0xd681",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60206101000a600055602060ff0a60015560206101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x01" : "0xe1dd29730112f6ef1d8edabfd4c3c60c823d865cd592abcdf0bdec64a1efe001",
+                    "0x02" : "0x2203ef98a7ce0ef9bf3c04038583f6b2ab4d27e3ed8e5285b6e32c8b61f02001"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60206101000a600055602060ff0a60015560206101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_33.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_33.json
new file mode 100644
index 0000000..e05f526
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_33.json
@@ -0,0 +1,53 @@
+{
+    "expPowerOf256_33" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_33Filler.json",
+            "sourceHash" : "1494bc54e86ba54ff18703713f1acd013483f783576240696987d01ff50b3544"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60216101000a600055602160ff0a60015560216101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0xd681",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60216101000a600055602160ff0a60015560216101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x01" : "0xfb4c498e11e3f82e714be514ef024675bb48d678bd192222cd2e783d4df020ff",
+                    "0x02" : "0x25f3884075dd08b8fb400789097aa95df8750bd17be0d83c9a0fb7ed52102101"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60216101000a600055602160ff0a60015560216101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_4.json
new file mode 100644
index 0000000..2c52b77
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_4.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_4Filler.json",
+            "sourceHash" : "8f3cdfeeea8c2034d13c9a022172f2037da0bd6ade17b7ae7f8f3df305f4a4df"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60046101000a600055600460ff0a60015560046101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60046101000a600055600460ff0a60015560046101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000",
+                    "0x01" : "0xfc05fc01",
+                    "0x02" : "0x0104060401"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60046101000a600055600460ff0a60015560046101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_5.json
new file mode 100644
index 0000000..e27faeb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_5.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_5" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_5Filler.json",
+            "sourceHash" : "6c9b87e9fca151921c92654a3d368c401965a0641eee8790af7d8aab27271ed3"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60056101000a600055600560ff0a60015560056101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60056101000a600055600560ff0a60015560056101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000",
+                    "0x01" : "0xfb09f604ff",
+                    "0x02" : "0x01050a0a0501"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60056101000a600055600560ff0a60015560056101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_6.json
new file mode 100644
index 0000000..8b12c3d
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_6.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_6" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_6Filler.json",
+            "sourceHash" : "c1335415fa09bfe0c536fd145facd7950bd936f99b2f126a762d5e4f612b4ea8"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60066101000a600055600660ff0a60015560066101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60066101000a600055600660ff0a60015560066101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000",
+                    "0x01" : "0xfa0eec0efa01",
+                    "0x02" : "0x01060f140f0601"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60066101000a600055600660ff0a60015560066101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_7.json
new file mode 100644
index 0000000..c5d96de
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_7.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_7" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_7Filler.json",
+            "sourceHash" : "ba2a01ee3ba65a9e222e5652086878ab320acd4dba34e66f840c11d13724cbfd"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60076101000a600055600760ff0a60015560076101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60076101000a600055600760ff0a60015560076101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000",
+                    "0x01" : "0xf914dd22eb06ff",
+                    "0x02" : "0x0107152323150701"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60076101000a600055600760ff0a60015560076101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_8.json
new file mode 100644
index 0000000..6299db2
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_8.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_8" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_8Filler.json",
+            "sourceHash" : "391f374398dd4aa154138f57653bec76a8726d9d78d99a64920d5a47bb80adb1"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60086101000a600055600860ff0a60015560086101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60086101000a600055600860ff0a60015560086101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000",
+                    "0x01" : "0xf81bc845c81bf801",
+                    "0x02" : "0x01081c3846381c0801"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60086101000a600055600860ff0a60015560086101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_9.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_9.json
new file mode 100644
index 0000000..18e81c6
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf256_9.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf256_9" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf256_9Filler.json",
+            "sourceHash" : "c8a2461186fc91d1e5b1493b97c9cbb6e1a0e481f079497ea382cb6dbe5db68b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60096101000a600055600960ff0a60015560096101010a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60096101000a600055600960ff0a60015560096101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01000000000000000000",
+                    "0x01" : "0xf723ac7d8253dc08ff",
+                    "0x02" : "0x010924547e7e54240901"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60096101000a600055600960ff0a60015560096101010a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_128.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_128.json
new file mode 100644
index 0000000..468b33c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_128.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_128" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_128Filler.json",
+            "sourceHash" : "c4b7fece1f07c9e2caf32917c268ed7e1d5c97aac1396233aa39417dde0436a4"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x608060020a600055607f60020a600155608160020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x608060020a600055607f60020a600155608160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000000000000000000000000000",
+                    "0x01" : "0x80000000000000000000000000000000",
+                    "0x02" : "0x0200000000000000000000000000000000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x608060020a600055607f60020a600155608160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_16.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_16.json
new file mode 100644
index 0000000..2218345
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_16.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_16" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_16Filler.json",
+            "sourceHash" : "d3803eed18feefc037cff2b9901c3ab2b8eb0e56084d8deef4e1920aa57efb05"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601060020a600055600f60020a600155601160020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601060020a600055600f60020a600155601160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000",
+                    "0x01" : "0x8000",
+                    "0x02" : "0x020000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601060020a600055600f60020a600155601160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_2.json
new file mode 100644
index 0000000..524b3ca
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_2.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_2Filler.json",
+            "sourceHash" : "64c40e17a200ba9dcebcd1439eec14cefa618a32034272caef68389ee94ea879"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600260020a600055600160020a600155600360020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600260020a600055600160020a600155600360020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x04",
+                    "0x01" : "0x02",
+                    "0x02" : "0x08"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600260020a600055600160020a600155600360020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_256.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_256.json
new file mode 100644
index 0000000..0e24567
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_256.json
@@ -0,0 +1,52 @@
+{
+    "expPowerOf2_256" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_256Filler.json",
+            "sourceHash" : "3b9441d6c88dc669849775f4cada0ba363b088247614be54ea153c7cb1a98288"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x61010060020a60005560ff60020a60015561010160020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x011105",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x61010060020a60005560ff60020a60015561010160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x01" : "0x8000000000000000000000000000000000000000000000000000000000000000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x61010060020a60005560ff60020a60015561010160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_32.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_32.json
new file mode 100644
index 0000000..43370b0
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_32.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_32" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_32Filler.json",
+            "sourceHash" : "9b06ea4361a7de72602e3d016e002a56075d50bc543526e1602164d6fd7f637a"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x602060020a600055601f60020a600155602160020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x602060020a600055601f60020a600155602160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100000000",
+                    "0x01" : "0x80000000",
+                    "0x02" : "0x0200000000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x602060020a600055601f60020a600155602160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_4.json
new file mode 100644
index 0000000..f1022cc
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_4.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_4Filler.json",
+            "sourceHash" : "2170fba75e0439a77e1185b6467eeb8a01522767f0cc0cf6300be400dc3d90c0"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600460020a600055600360020a600155600560020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600460020a600055600360020a600155600560020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x10",
+                    "0x01" : "0x08",
+                    "0x02" : "0x20"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600460020a600055600360020a600155600560020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_64.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_64.json
new file mode 100644
index 0000000..01df77b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_64.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_64" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_64Filler.json",
+            "sourceHash" : "e99750312fd4025607c147b0eef21930f8db8ad01ed0bdbec53cf95d2bec199d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x604060020a600055603f60020a600155604160020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x604060020a600055603f60020a600155604160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x010000000000000000",
+                    "0x01" : "0x8000000000000000",
+                    "0x02" : "0x020000000000000000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x604060020a600055603f60020a600155604160020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_8.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_8.json
new file mode 100644
index 0000000..9a1a934
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expPowerOf2_8.json
@@ -0,0 +1,54 @@
+{
+    "expPowerOf2_8" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expPowerOf2_8Filler.json",
+            "sourceHash" : "9a21dd4b92dc8fe6916a62480050741b40d02eacdc42aa62c583a4ee858dc349"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600860020a600055600760020a600155600960020a60025500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9be9",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600860020a600055600760020a600155600960020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x0100",
+                    "0x01" : "0x80",
+                    "0x02" : "0x0200"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600860020a600055600760020a600155600960020a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expXY.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY.json
new file mode 100644
index 0000000..f54cacb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY.json
@@ -0,0 +1,53 @@
+{
+    "expXY" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expXYFiller.json",
+            "sourceHash" : "bb4205cb21d1b4a6b98876c33b99f511da2e823c44d16d97868659d7f9c31175"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000356000556020356001556001546000540a60025500",
+            "data" : "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000100000000000f",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0xd609",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000356000556020356001556001546000540a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02",
+                    "0x01" : "0x0100000000000f"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000356000556020356001556001546000540a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/expXY_success.json b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY_success.json
new file mode 100644
index 0000000..21e17ee
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/expXY_success.json
@@ -0,0 +1,54 @@
+{
+    "expXY_success" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/expXY_successFiller.json",
+            "sourceHash" : "91b327b216f5456a020cab1fbac6d7e380357513402cdc413227ba2f1143e3da"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000356000556020356001556001546000540a60025500",
+            "data" : "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x9bad",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000356000556020356001556001546000540a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02",
+                    "0x01" : "0x0f",
+                    "0x02" : "0x8000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6000356000556020356001556001546000540a60025500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/fibbonacci_unrolled.json b/evm/src/test/resources/VMTests/vmArithmeticTest/fibbonacci_unrolled.json
new file mode 100644
index 0000000..d00b3fb
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/fibbonacci_unrolled.json
@@ -0,0 +1,51 @@
+{
+    "fibbonacci_unrolled" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/fibbonacci_unrolledFiller.json",
+            "sourceHash" : "b3247041f821f21ce3b8c1fc6e22aba7ab2e57fb8d3e011bcdbe030899cf66c3"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6001600181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810160005260206000f300",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0f4192",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x0000000000000000000000000000000000000000000000000000000000001055",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6001600181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810160005260206000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6001600181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810181810160005260206000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod0.json
new file mode 100644
index 0000000..d624d5e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod0.json
@@ -0,0 +1,52 @@
+{
+    "mod0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mod0Filler.json",
+            "sourceHash" : "7a631d7f6ff9c33a639a9e90bbfea9083db365a9cf21494db3f19ba2fdbaa190"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600360020660005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600360020660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600360020660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod1.json
new file mode 100644
index 0000000..cf72742
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod1.json
@@ -0,0 +1,52 @@
+{
+    "mod1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mod1Filler.json",
+            "sourceHash" : "467f2675314a5c8a4949184635b0fc884abd347a6d9bd49ffa02aa6e2e6c183b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0660005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod2.json
new file mode 100644
index 0000000..ca888d5
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod2.json
@@ -0,0 +1,51 @@
+{
+    "mod2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mod2Filler.json",
+            "sourceHash" : "9a7cfc5829e8327636ee6e00d0b5492955ee0f2f47666e79a8ecc3cb43105fb2"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000660005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod3.json
new file mode 100644
index 0000000..54b9f42
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod3.json
@@ -0,0 +1,51 @@
+{
+    "mod3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mod3Filler.json",
+            "sourceHash" : "498dea5857ceef54c57407276175ba60b9fd81d899e30e84e2d222309b8312d7"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600060030660005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060030660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600060030660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mod4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mod4.json
new file mode 100644
index 0000000..4ab4bff
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mod4.json
@@ -0,0 +1,52 @@
+{
+    "mod4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mod4Filler.json",
+            "sourceHash" : "6ba6f1a4ed330cec514a9b19426dc52f733e73316c07e523a310dc96057bfdde"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600360026000030660005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600360026000030660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x02"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600360026000030660005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/modByZero.json b/evm/src/test/resources/VMTests/vmArithmeticTest/modByZero.json
new file mode 100644
index 0000000..f84f12f
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/modByZero.json
@@ -0,0 +1,52 @@
+{
+    "modByZero" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/modByZeroFiller.json",
+            "sourceHash" : "82ef7e54944985d4c5d7fffb610e131ef6407d729d7ab6b8d94a161b99f2a112"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600160006003060360005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01386c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600160006003060360005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600160006003060360005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul0.json
new file mode 100644
index 0000000..5cbdca9
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul0.json
@@ -0,0 +1,52 @@
+{
+    "mul0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul0Filler.json",
+            "sourceHash" : "c723c8fc23b8b848cf7f7786bf4f402541c7ba927742d5b51f2cdef3e2062cee"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600360020260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600360020260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x06"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600360020260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul1.json
new file mode 100644
index 0000000..23e43fa
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul1.json
@@ -0,0 +1,52 @@
+{
+    "mul1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul1Filler.json",
+            "sourceHash" : "a4d308598a2120aa864a49307ef3a6e516395b3ec80bdc31d378ff3d84884bd9"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul2.json
new file mode 100644
index 0000000..5ccab13
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul2.json
@@ -0,0 +1,51 @@
+{
+    "mul2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul2Filler.json",
+            "sourceHash" : "a6c016e9b224d8d6edc275c8ef25b8e6db2dae12200fdf6dea96f767a57198d2"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x601760000260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601760000260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x601760000260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul3.json
new file mode 100644
index 0000000..c63721e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul3.json
@@ -0,0 +1,52 @@
+{
+    "mul3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul3Filler.json",
+            "sourceHash" : "e5ed806ab906f529b1059c9bc7fd030832851e7a547e9a59ed47d59ec478af9f"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600160170260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600160170260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x17"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600160170260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul4.json
new file mode 100644
index 0000000..2de3d5b
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul4.json
@@ -0,0 +1,52 @@
+{
+    "mul4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul4Filler.json",
+            "sourceHash" : "7d7f630c43cfa7e842a0975cbc2955768590674175d3abebd60ff25e3dc7d863"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000000260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000000260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x8000000000000000000000000000000000000000000000000000000000000000"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000000260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul5.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul5.json
new file mode 100644
index 0000000..4f0f781
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul5.json
@@ -0,0 +1,51 @@
+{
+    "mul5" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul5Filler.json",
+            "sourceHash" : "7fd39e133673784604b07390ff8ae5ba68c6ff3b879ebe1bfeca5d9fd5e20b1d"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7f80000000000000000000000000000000000000000000000000000000000000007f80000000000000000000000000000000000000000000000000000000000000000260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01730a",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7f80000000000000000000000000000000000000000000000000000000000000007f80000000000000000000000000000000000000000000000000000000000000000260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7f80000000000000000000000000000000000000000000000000000000000000007f80000000000000000000000000000000000000000000000000000000000000000260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul6.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul6.json
new file mode 100644
index 0000000..d81b122
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul6.json
@@ -0,0 +1,52 @@
+{
+    "mul6" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul6Filler.json",
+            "sourceHash" : "ff1337c3aa0c062b133fa7dd0a86e8f3163e0621c255cee7415ae600e949660b"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x013872",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0260005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mul7.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mul7.json
new file mode 100644
index 0000000..2f98771
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mul7.json
@@ -0,0 +1,51 @@
+{
+    "mul7" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mul7Filler.json",
+            "sourceHash" : "b97be9ba197c326c2984c10585e3397e6e517fa84ae57f6bf8325241657f5def"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005260206000f300",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x01867e",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x47d0817e4167b1eb4f9fc722b133ef9d7d9a6fb4c2c1c442d000107a5e419561",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005260206000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005260206000f300",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulUnderFlow.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulUnderFlow.json
new file mode 100644
index 0000000..1ca2f8a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulUnderFlow.json
@@ -0,0 +1,37 @@
+{
+    "mulUnderFlow" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulUnderFlowFiller.json",
+            "sourceHash" : "03cdcf086be91ef74f546e1a19dcf2220ed831d9fa47152fa154787ed9daada1"
+        },
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60010260015500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x60010260015500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod0.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod0.json
new file mode 100644
index 0000000..5cae224
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod0.json
@@ -0,0 +1,51 @@
+{
+    "mulmod0" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod0Filler.json",
+            "sourceHash" : "02125ae8b22f33f63d6d7d3f9cecf07b874e590c29c261a86da5c0cbf94c91de"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6002600260010960005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x017304",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600260010960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6002600260010960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1.json
new file mode 100644
index 0000000..3a627d4
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1.json
@@ -0,0 +1,51 @@
+{
+    "mulmod1" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1Filler.json",
+            "sourceHash" : "c8a35400d1d3ea1fbbdd6a8675d68794032314164f9bbbc6ffa44f6b33a0e119"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6003600260000360016000030960005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172f8",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600260000360016000030960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6003600260000360016000030960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow.json
new file mode 100644
index 0000000..9e4a77c
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow.json
@@ -0,0 +1,51 @@
+{
+    "mulmod1_overflow" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflowFiller.json",
+            "sourceHash" : "dbfa4ba18f5aae2ffc7f3d73452f1794a32b892fa221a0fb6e803be7c43a34c6"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6005600260016000030960005500",
+            "data" : "0x",
+            "gas" : "0x0186a0",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0172fe",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600260016000030960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x6005600260016000030960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow2.json
new file mode 100644
index 0000000..53130d0
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow2.json
@@ -0,0 +1,52 @@
+{
+    "mulmod1_overflow2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflow2Filler.json",
+            "sourceHash" : "3252864171ec6955859f10359bb4386d908e0ef79ddd31f8c24ea774021ca132"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000000960005500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0ef40c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000000960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000000960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow3.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow3.json
new file mode 100644
index 0000000..82e572e
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow3.json
@@ -0,0 +1,52 @@
+{
+    "mulmod1_overflow3" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflow3Filler.json",
+            "sourceHash" : "a915f966951915d875ba2c5b2b785689a7cf34c5b02757e0157ff57afad6edc1"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600560027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0ef40c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x04"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow4.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow4.json
new file mode 100644
index 0000000..1ad9c24
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod1_overflow4.json
@@ -0,0 +1,52 @@
+{
+    "mulmod1_overflow4" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod1_overflow4Filler.json",
+            "sourceHash" : "1fd6b238682486a153dec1ed7ae7ce57887fba9c50543c89ea5ff8651c981495"
+        },
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "0x020000",
+            "currentGasLimit" : "0x7fffffffffffffff",
+            "currentNumber" : "0x01",
+            "currentTimestamp" : "0x03e8"
+        },
+        "exec" : {
+            "address" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000010960005500",
+            "data" : "0x",
+            "gas" : "0x0f4240",
+            "gasPrice" : "0x0c",
+            "origin" : "0xcd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "0x0b"
+        },
+        "gas" : "0x0ef40c",
+        "logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
+        "out" : "0x",
+        "post" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000010960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                    "0x00" : "0x03"
+                }
+            }
+        },
+        "pre" : {
+            "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "0x0de0b6b3a7640000",
+                "code" : "0x600560027f80000000000000000000000000000000000000000000000000000000000000010960005500",
+                "nonce" : "0x00",
+                "storage" : {
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod2.json b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod2.json
new file mode 100644
index 0000000..f48151a
--- /dev/null
+++ b/evm/src/test/resources/VMTests/vmArithmeticTest/mulmod2.json
@@ -0,0 +1,52 @@
+{
+    "mulmod2" : {
+        "_info" : {
+            "comment" : "",
+            "filledwith" : "testeth 1.8.0-6+commit.c7ba3b69",
+            "lllcversion" : "Version: 0.5.14-develop.2019.11.27+commit.8f259595.Linux.g++",
+            "source" : "src/VMTestsFiller/vmArithmeticTest/mulmod2Filler.json",
+            "sourceHash" : "85e9db15ebefc9b40bf254c054117005e0b78aa3787425c3b6d87bf7b11cc878"
+        },
... 26141 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org