Bug #1590891:   random.randrange don't return correct value for big number
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index bba4c7c..6c32635 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -439,6 +439,14 @@
             self.assertEqual(k, numbits)        # note the stronger assertion
             self.assert_(2**k > n > 2**(k-1))   # note the stronger assertion
 
+    def test_randrange_bug_1590891(self):
+        start = 1000000000000
+        stop = -100000000000000000000
+        step = -200
+        x = self.gen.randrange(start, stop, step)
+        self.assert_(stop < x <= start)
+        self.assertEqual((x+stop)%step, 0)
+
 _gammacoeff = (0.9999999999995183, 676.5203681218835, -1259.139216722289,
               771.3234287757674,  -176.6150291498386, 12.50734324009056,
               -0.1385710331296526, 0.9934937113930748e-05, 0.1659470187408462e-06)