#include float sqrtf(float num) { if (num < 0) return NAN; if (num < 2) return num; float y = num; float z = (y + (num / y)) / 2; while (fabsf(y - z) >= 0.00001) { y = z; z = (y + (num / y)) / 2; } return z; } double sqrt(double num) { if (num < 0) return NAN; if (num < 2) return num; double y = num; double z = (y + (num / y)) / 2; while (fabs(y - z) >= 0.00001) { y = z; z = (y + (num / y)) / 2; } return z; }