math/big: fix silly bug in Int64 accessor

Change-Id: If335d45ea1ab6c8aeeb47515f97680e2c1d651f3
Reviewed-on: https://go-review.googlesource.com/7522
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/src/math/big/float.go b/src/math/big/float.go
index 778cc20..feca692 100644
--- a/src/math/big/float.go
+++ b/src/math/big/float.go
@@ -835,7 +835,7 @@
 			if x.neg {
 				i = -i
 			}
-			if x.MinPrec() <= 63 {
+			if x.MinPrec() <= uint(x.exp) {
 				return i, Exact
 			}
 			return i, acc // x truncated
diff --git a/src/math/big/float_test.go b/src/math/big/float_test.go
index dca78a8..cc38f68 100644
--- a/src/math/big/float_test.go
+++ b/src/math/big/float_test.go
@@ -808,12 +808,14 @@
 		{"-12345.000000000000000000001", -12345, Above},
 		{"-12345.0", -12345, Exact},
 		{"-1.000000000000000000001", -1, Above},
+		{"-1.5", -1, Above},
 		{"-1", -1, Exact},
 		{"-1e-1000", 0, Above},
 		{"0", 0, Exact},
 		{"1e-1000", 0, Below},
 		{"1", 1, Exact},
 		{"1.000000000000000000001", 1, Below},
+		{"1.5", 1, Below},
 		{"12345.0", 12345, Exact},
 		{"12345.000000000000000000001", 12345, Below},
 		{"9223372036854775807", 9223372036854775807, Exact},