I'm new to Python so please be gentle.

I seriously don't know what is wrong with my code.

Here it is:

```
import numpy as np

def epsilon(t):
    epsilon = (1 - np.exp(-pow(t, 4)))
    return epsilon

def r(t):
    r = pow( (epsilon(t) - 16) / 4, 1/4)
    return r

print(r(0))

```

Since `epsilon(0) = 0`, I'd expect (analytically) to get r = (-16/4)^(1/4) = (-1)^(1/4)\*sqrt(2) = exp(i pi /4)\*sqrt(2) = 1 + 1 i

But instead I get:

```
RuntimeWarning: invalid value encountered in double_scalars
  r = pow((4 * epsilon(t) - 16) / 4, 1/4)
nan

```

I've tried to find the error. If I print `epsilon(0)` I get 0 as expected, and If i set `epsilon(0)` manually like:

```
def r(t):
    r = pow( 0 - 16) / 4, 1/4)
    return r
print(r(0))

```

I get `1 + 1 j`. And If I remove the `to the power of 1/4`, it works and I get `-4`

```
import numpy as np

def epsilon(t):
    epsilon = (1 - np.exp(-pow(t, 4)))
    return epsilon

def r(t):
    r = (epsilon(t) - 16) / 4
    return r

print(r(0))

```

So why do

```
import numpy as np

def epsilon(t):
    epsilon = (1 - np.exp(-pow(t, 4)))
    return epsilon

def r(t):
    r = pow( (epsilon(t) - 16) / 4, 1/4)
    return r

print(r(0))

```

I get this error?