Square root of a number

double sqaure_root_of(double value)
{
     double lo = 1.0;
     double hi = value;

     while( hi - lo > 0.00001)
     {
          double mid = lo + (hi - lo) / 2 ;
          if( mid * mid - value > 0.00001)    
          {
              hi = mid;
          } 
          else {
              lo = mid;
          }
     }
     return lo;
 }

OR

float squareRoot(float n)
{
  float x = n;
  float y = 1;
  float e = 0.000001; /* e decides the accuracy level*/
  while(x - y > e)
  {
    x = (x + y)/2;
    y = n/x;
  }
  return x;
}