package main
import (
"fmt"
"math"
)
func Sqrt(value float64) float64 {
z := float64(4)
z_old := float64(3)
delta := 0.00001
for x := 0; true; x++ {
if (math.Fabs(z - z_old) < delta) {
fmt.Printf("Stop iteration at #%x\n", x)
break
}
z_old = z
z = z - ((z * z - value) / (2 * z))
}
return z
}
func main() {
fmt.Println(Sqrt(2))
fmt.Print(math.Sqrt(2))
}