math/big: better initial guess for nat.sqrt
math/big: better initial guess for nat.sqrt

The proposed change introduces a better initial guess which is closer to the final value and therefore converges in fewer steps. Consider for example sqrt(8): previously the guess was 8, whereas now it is 4 (and the result is 2). All this change does is it computes the division by two more accurately while it keeps the guess ≥ √x.

Change-Id: I917248d734a7b0488d14a647a063f674e56c4e30
GitHub-Last-Rev: c06d9d4876c8e7d6739f0e4b687e370fe1e9aad7
GitHub-Pull-Request: golang/go#28981
Reviewed-on: https://go-review.googlesource.com/c/163866
Run-TryBot: Brad Fitzpatrick <ae9783c0b0efc69cd85ab025ddd17aa44cdc4aa5@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Robert Griesemer <a6752097faebf1f02d80107d77a9be009089afe3@golang.org>

nawawi/go,cloudflare/go,akutz/go,akutz/go,golang/go,akutz/go,golang/go,nawawi/go,josharian/go,akutz/go,CAFxX/go,CAFxX/go,cloudflare/go,josharian/go,CAFxX/go,nawawi/go,nawawi/go,nawawi/go,cloudflare/go,cloudflare/go,josharian/go,golang/go,josharian/go,CAFxX/go,CAFxX/go,nawawi/go,josharian/go,golang/go,akutz/go,golang/go,golang/go,golang/go,golang/go,CAFxX/go,josharian/go,cloudflare/go,akutz/go,josharian/go,cloudflare/go,akutz/go,akutz/go,CAFxX/go,nawawi/go,CAFxX/go,cloudflare/go,cloudflare/go,josharian/go,nawawi/go