// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build ignore package main import ( "fmt" "math" ) const delta = 1e-6 func Sqrt(x float64) float64 { z := x n := 0.0 for math.Abs(n-z) > delta { n, z = z, z-(z*z-x)/(2*z) } return z } func main() { const x = 2 mine, theirs := Sqrt(x), math.Sqrt(x) fmt.Println(mine, theirs, mine-theirs) }