SayoriOS  0.3.3
sqrt.c
1 #include "lib/math.h"
2 
3 double sqrt(double x) {
4  if (x < 0) {
5  return -1; // Square root is undefined for negative numbers
6  }
7 
8  double guess = x; // Initial guess
9  double epsilon = 1e-7; // Tolerance level
10 
11  while ((guess * guess - x) > epsilon) {
12  guess = 0.5 * (guess + x / guess);
13  }
14 
15  return guess;
16 }