```
x = 25
epsilon = 0.01
numGuesses = 0
low = 0.0
high = max(1.0, x)
ans = (high + low)/2.0
while abs(ans**2 - x) >= epsilon:
    print ('low =', low, 'high =', high, 'ans =', ans)
    numGuesses += 1
if ans**2 < x:
    low = ans
else:
    high = ans
ans = (high + low)/2.0
print ('numGuesses =', numGuesses)
print (ans, 'is close to square root of', x)

```

Hi All.

I have a question regarding the line `while abs(ans**2 - x) >= epsilon:` from the above code. I thought that `abs` would matter only in case of the negative numbers but leaving only `while (ans**2 - x) >= epsilon:` causes a problem finding a square root. Why? What am I missing here?