#define E 0.000001
double my_sqrt(double a)
{
a = a < 0 ? -a : a;
double x = a / 2;
while (1) {
double e = x * x - a;
double t = e < 0 ? -e : e;
if (t < E) return x;
x -= e / (x * 2);
}
}
int main() {
my_sqrt(-4);
my_sqrt(4);
my_sqrt(3);
my_sqrt(-3);
return 0;
}