The documentation for pow() says:
Results are undefined if x < 0.
In general, raising a negative value to a fractional power produces a complex result. There are specific cases where the imaginary part of the result is zero (e.g. if the fractional part of the exponent is zero, or the exponent is the reciprocal of an odd integer), but there isn’t a general algorithm which can handle these cases without involving complex numbers. In particular, implementing pow(x,y) as exp(log(x)*y) will result in a domain error from log() if x is negative and log() only understands real numbers.
With complex numbers, log() of a negative number will produce an complex number whose imaginary part is π, multiplying by an integer produces a complex number whose imaginary part is an integer multiple of π, and raising e to a complex number whose imaginary part is an integer multiple of π produces a real number (by Euler’s identity, eix = cos(x) + isin(x), and sin(nπ)=0 for any integer n). Using a different base just results in a factor of log[SUB]base/SUB from log[SUB]base[/SUB] which is cancelled out by exp[SUB]base[/SUB].
[QUOTE=Osbios;1255228]Do I have a brain fart or can I point fingers at GPU drivers? [/QUOTE].
The drivers aren’t at fault. And I doubt that The Powers That Be consider GLSL’s lack of support for complex numbers to be a bug per se.