diff --git a/StateTests/stMemoryTest.json b/StateTests/stMemoryTest.json
index 175d4df97fac233131059e6c66a7b057f62fca80..5abceda55e770c1fd4367f56468160758c15514f 100644
--- a/StateTests/stMemoryTest.json
+++ b/StateTests/stMemoryTest.json
@@ -208,14 +208,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2108",
+                "balance" : "3084",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727482",
+                "balance" : "429496726506",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -271,14 +271,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2109",
+                "balance" : "3087",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727481",
+                "balance" : "429496726503",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -334,14 +334,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2109",
+                "balance" : "3087",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727481",
+                "balance" : "429496726503",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -397,14 +397,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2109",
+                "balance" : "3087",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727481",
+                "balance" : "429496726503",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -460,14 +460,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2110",
+                "balance" : "3090",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727480",
+                "balance" : "429496726500",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -523,14 +523,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2108",
+                "balance" : "3084",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727482",
+                "balance" : "429496726506",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -586,14 +586,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2108",
+                "balance" : "3084",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727482",
+                "balance" : "429496726506",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -649,14 +649,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2107",
+                "balance" : "3081",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727483",
+                "balance" : "429496726509",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -712,14 +712,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2107",
+                "balance" : "3081",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727483",
+                "balance" : "429496726509",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -774,14 +774,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1805",
+                "balance" : "2781",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727785",
+                "balance" : "429496726809",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -836,14 +836,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1806",
+                "balance" : "2784",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727784",
+                "balance" : "429496726806",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -898,14 +898,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1806",
+                "balance" : "2784",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727784",
+                "balance" : "429496726806",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -960,14 +960,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1806",
+                "balance" : "2784",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727784",
+                "balance" : "429496726806",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1022,14 +1022,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1807",
+                "balance" : "2787",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727783",
+                "balance" : "429496726803",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1084,14 +1084,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1805",
+                "balance" : "2781",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727785",
+                "balance" : "429496726809",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1146,14 +1146,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1805",
+                "balance" : "2781",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727785",
+                "balance" : "429496726809",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1208,14 +1208,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1804",
+                "balance" : "2778",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727786",
+                "balance" : "429496726812",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1270,14 +1270,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "1804",
+                "balance" : "2778",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496727786",
+                "balance" : "429496726812",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1395,14 +1395,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3108",
+                "balance" : "7014",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726482",
+                "balance" : "429496722576",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1458,14 +1458,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3109",
+                "balance" : "7019",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726481",
+                "balance" : "429496722571",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1521,14 +1521,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3109",
+                "balance" : "7019",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726481",
+                "balance" : "429496722571",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1584,14 +1584,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3109",
+                "balance" : "7019",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726481",
+                "balance" : "429496722571",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1647,14 +1647,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3110",
+                "balance" : "7024",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726480",
+                "balance" : "429496722566",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1710,14 +1710,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3108",
+                "balance" : "7014",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726482",
+                "balance" : "429496722576",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1773,14 +1773,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3108",
+                "balance" : "7014",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726482",
+                "balance" : "429496722576",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1836,14 +1836,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3107",
+                "balance" : "7009",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726483",
+                "balance" : "429496722581",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1899,14 +1899,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "3107",
+                "balance" : "7009",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726483",
+                "balance" : "429496722581",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1961,14 +1961,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2805",
+                "balance" : "6711",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726785",
+                "balance" : "429496722879",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2023,14 +2023,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2806",
+                "balance" : "6716",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726784",
+                "balance" : "429496722874",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2085,14 +2085,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2806",
+                "balance" : "6716",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726784",
+                "balance" : "429496722874",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2147,14 +2147,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2806",
+                "balance" : "6716",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726784",
+                "balance" : "429496722874",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2209,14 +2209,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2807",
+                "balance" : "6721",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726783",
+                "balance" : "429496722869",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2271,14 +2271,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2805",
+                "balance" : "6711",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726785",
+                "balance" : "429496722879",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2333,14 +2333,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2805",
+                "balance" : "6711",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726785",
+                "balance" : "429496722879",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2395,14 +2395,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2804",
+                "balance" : "6706",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726786",
+                "balance" : "429496722884",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2457,14 +2457,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2804",
+                "balance" : "6706",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726786",
+                "balance" : "429496722884",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2518,14 +2518,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "2652",
+                "balance" : "6752",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429496726938",
+                "balance" : "429496722838",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2579,14 +2579,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "134218332",
+                "balance" : "1342183320",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429362511258",
+                "balance" : "428154546270",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -2640,14 +2640,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "196718332",
+                "balance" : "1342183320",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "429300011258",
+                "balance" : "428154546270",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
diff --git a/StateTests/stPreCompiledContracts.json b/StateTests/stPreCompiledContracts.json
index 0f1db1275fe4d2a782fc73130c031a23ae7469bb..8cca6f7a4ce3582cc410a5784abca87785119de8 100644
--- a/StateTests/stPreCompiledContracts.json
+++ b/StateTests/stPreCompiledContracts.json
@@ -1074,14 +1074,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "32684",
+                "balance" : "986358",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "999999999999867316",
+                "balance" : "999999999998913642",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -1631,14 +1631,14 @@
                 }
             },
             "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
-                "balance" : "32684",
+                "balance" : "986358",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
                 }
             },
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "999999999999867316",
+                "balance" : "999999999998913642",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
diff --git a/StateTests/stSystemOperationsTest.json b/StateTests/stSystemOperationsTest.json
index 826c0ef4f698bd4c44d634abec7804e653743508..983caa0cd3fa7c6801cf0587a10eeb3eee580e95 100644
--- a/StateTests/stSystemOperationsTest.json
+++ b/StateTests/stSystemOperationsTest.json
@@ -466,7 +466,7 @@
         "out" : "0x",
         "post" : {
             "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "340282366920938463463374607431768207430",
+                "balance" : "340282366920938463463374607431768205045",
                 "code" : "0x",
                 "nonce" : "1",
                 "storage" : {
@@ -480,7 +480,7 @@
                 }
             },
             "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
-                "balance" : "4015",
+                "balance" : "6400",
                 "code" : "0x",
                 "nonce" : "0",
                 "storage" : {
diff --git a/VMTests/vmArithmeticTest.json b/VMTests/vmArithmeticTest.json
index 909a76b829266f0d19c1dc9d8d68ac0c52fd8788..8aa5536918111f5ff0a23d2acc356e259c121d39 100644
--- a/VMTests/vmArithmeticTest.json
+++ b/VMTests/vmArithmeticTest.json
@@ -6297,7 +6297,95 @@
             }
         }
     },
-    "sdiv5" : {
+    "sdivByZero0" : {
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "256",
+            "currentGasLimit" : "1000000",
+            "currentNumber" : "0",
+            "currentTimestamp" : "1",
+            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+        },
+        "exec" : {
+            "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x6000600003600360000305600055",
+            "data" : "0x",
+            "gas" : "10000",
+            "gasPrice" : "100000000000000",
+            "origin" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "1000000000000000000"
+        },
+        "gas" : "9892",
+        "logs" : [
+        ],
+        "out" : "0x",
+        "post" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x6000600003600360000305600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x6000600003600360000305600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        }
+    },
+    "sdivByZero1" : {
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "256",
+            "currentGasLimit" : "1000000",
+            "currentNumber" : "0",
+            "currentTimestamp" : "1",
+            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+        },
+        "exec" : {
+            "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000305600055",
+            "data" : "0x",
+            "gas" : "10000",
+            "gasPrice" : "100000000000000",
+            "origin" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "1000000000000000000"
+        },
+        "gas" : "9894",
+        "logs" : [
+        ],
+        "out" : "0x",
+        "post" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000305600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000305600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        }
+    },
+    "sdiv_i256min" : {
         "callcreates" : [
         ],
         "env" : {
@@ -6342,7 +6430,7 @@
             }
         }
     },
-    "sdivByZero0" : {
+    "sdiv_i256min2" : {
         "callcreates" : [
         ],
         "env" : {
@@ -6356,37 +6444,38 @@
         "exec" : {
             "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
             "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
-            "code" : "0x6000600003600360000305600055",
+            "code" : "0x60016000037f800000000000000000000000000000000000000000000000000000000000000060000305600055",
             "data" : "0x",
             "gas" : "10000",
             "gasPrice" : "100000000000000",
             "origin" : "cd1722f2947def4cf144679da39c4c32bdc35681",
             "value" : "1000000000000000000"
         },
-        "gas" : "9892",
+        "gas" : "9692",
         "logs" : [
         ],
         "out" : "0x",
         "post" : {
             "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
                 "balance" : "1000000000000000000",
-                "code" : "0x6000600003600360000305600055",
+                "code" : "0x60016000037f800000000000000000000000000000000000000000000000000000000000000060000305600055",
                 "nonce" : "0",
                 "storage" : {
+                    "0x" : "0x8000000000000000000000000000000000000000000000000000000000000000"
                 }
             }
         },
         "pre" : {
             "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
                 "balance" : "1000000000000000000",
-                "code" : "0x6000600003600360000305600055",
+                "code" : "0x60016000037f800000000000000000000000000000000000000000000000000000000000000060000305600055",
                 "nonce" : "0",
                 "storage" : {
                 }
             }
         }
     },
-    "sdivByZero1" : {
+    "sdiv_i256min3" : {
         "callcreates" : [
         ],
         "env" : {
@@ -6400,7 +6489,7 @@
         "exec" : {
             "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
             "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
-            "code" : "0x60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000305600055",
+            "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05600055",
             "data" : "0x",
             "gas" : "10000",
             "gasPrice" : "100000000000000",
@@ -6414,7 +6503,7 @@
         "post" : {
             "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
                 "balance" : "1000000000000000000",
-                "code" : "0x60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000305600055",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05600055",
                 "nonce" : "0",
                 "storage" : {
                 }
@@ -6423,7 +6512,7 @@
         "pre" : {
             "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
                 "balance" : "1000000000000000000",
-                "code" : "0x60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000305600055",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05600055",
                 "nonce" : "0",
                 "storage" : {
                 }
@@ -7191,6 +7280,139 @@
             }
         }
     },
+    "smod5" : {
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "256",
+            "currentGasLimit" : "1000000",
+            "currentNumber" : "0",
+            "currentTimestamp" : "1",
+            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+        },
+        "exec" : {
+            "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+            "data" : "0x",
+            "gas" : "10000",
+            "gasPrice" : "100000000000000",
+            "origin" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "1000000000000000000"
+        },
+        "gas" : "9894",
+        "logs" : [
+        ],
+        "out" : "0x",
+        "post" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        }
+    },
+    "smod6" : {
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "256",
+            "currentGasLimit" : "1000000",
+            "currentNumber" : "0",
+            "currentTimestamp" : "1",
+            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+        },
+        "exec" : {
+            "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+            "data" : "0x",
+            "gas" : "10000",
+            "gasPrice" : "100000000000000",
+            "origin" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "1000000000000000000"
+        },
+        "gas" : "9694",
+        "logs" : [
+        ],
+        "out" : "0x",
+        "post" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+                "nonce" : "0",
+                "storage" : {
+                    "0x" : "0x01"
+                }
+            }
+        },
+        "pre" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        }
+    },
+    "smod7" : {
+        "callcreates" : [
+        ],
+        "env" : {
+            "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+            "currentDifficulty" : "256",
+            "currentGasLimit" : "1000000",
+            "currentNumber" : "0",
+            "currentTimestamp" : "1",
+            "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+        },
+        "exec" : {
+            "address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
+            "caller" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+            "data" : "0x",
+            "gas" : "10000",
+            "gasPrice" : "100000000000000",
+            "origin" : "cd1722f2947def4cf144679da39c4c32bdc35681",
+            "value" : "1000000000000000000"
+        },
+        "gas" : "9894",
+        "logs" : [
+        ],
+        "out" : "0x",
+        "post" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        },
+        "pre" : {
+            "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+                "balance" : "1000000000000000000",
+                "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60000307600055",
+                "nonce" : "0",
+                "storage" : {
+                }
+            }
+        }
+    },
     "stop" : {
         "callcreates" : [
         ],
diff --git a/VMTests/vmEnvironmentalInfoTest.json b/VMTests/vmEnvironmentalInfoTest.json
index 370f33dca3a73a439451e5fedd1ac60dbb954572..b573b08a94696579845757e8060748f6f9fc4d13 100644
--- a/VMTests/vmEnvironmentalInfoTest.json
+++ b/VMTests/vmEnvironmentalInfoTest.json
@@ -1406,7 +1406,7 @@
             "origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
             "value" : "10000000001111111"
         },
-        "gas" : "99999954399",
+        "gas" : "99999937758",
         "logs" : [
         ],
         "out" : "0x",