__powf() is not returning the correct values here. Suppose the following code:

```
float x = 3.5f;
float xy = 1.f;
int y = 12;
for(int i=0; i<y; ++i)
xy *= x;
```

This code computes xy = x[sup]y[/sup]. xy = __powf(x, y) returns a different result. I can’t tell what are the exact values but what seem to happen is that __powf() is only working with values of x in the [0,1] interval, but Im not sure. I tell this because I’m raytracing implicit surfaces, and when I render a sphere, I see only its lower right part, and only part of it…but when I use fors to compute the powers (the exponents are always integers) I get the correct rendering.