I have this two lines and they result in completely different results, and I don't know why.

Code :
vec3 normal = vec3(normalTex.x, normalTex.y, sqrt(abs(normalTex.x * normalTex.x + normalTex.y * normalTex.y - 1.0f)));
vec3 normal = vec3(normalTex.x, normalTex.y, sqrt(abs(pow(normalTex.x, 2.0f) + pow(normalTex.y, 2.0f) - 1.0f)));

normalTex.x and normalTex.y are in the range -1..1

Do I have a brain fart or can I point fingers at GPU drivers?