var threeOnce … func three() *Float { … } // Sqrt sets z to the rounded square root of x, and returns it. // // If z's precision is 0, it is changed to x's precision before the // operation. Rounding is performed according to z's precision and // rounding mode, but z's accuracy is not computed. Specifically, the // result of z.Acc() is undefined. // // The function panics if z < 0. The value of z is undefined in that // case. func (z *Float) Sqrt(x *Float) *Float { … } // Compute √x (to z.prec precision) by solving // // 1/t² - x = 0 // // for t (using Newton's method), and then inverting. func (z *Float) sqrtInverse(x *Float) { … } // newFloat returns a new *Float with space for twice the given // precision. func newFloat(prec2 uint32) *Float { … }