Jmmmm...yo podría reducir aún más esas lineas..pero bueno.lo q puedes hacer para la raiz
cuadrada es un metodo iterativo en donde P es el número original y X es el resulatdo anterior pero inicia desde 1
float Xa,Xb=1;
float P=9;
float epsilon=0.00001; //Margen de error
do
{ Xa=Xb;
Xb=(P+Xa*Xa)/(2*Xa);
}while( abs(Xb-Xa) > epsilon);
este método es muy rápido,el paso de acercamiento a la raiz es exponencial pero aún así el método q muestras se ve atractivo ya q es
Complejidad lineal y no hay ciclos, otra vez
....sería cuestión de probar