Without knowing the project settings and the supporting code, it is difficult to tell.
You could contact customer support and submit a trouble ticket.
To get input from the community, you will need to post more information, such as the product you are using; the supporting code for the interrupt routines, delay, timer, etc; the project settings for things like the floating point libraries, memory, etc; perhaps even the map file.
You could step through each line to make sure the correct values are calculated as well as watching the IRQCTL register for changes.
You could try separating the functions, so you can step through each of them to see if something else is going on.
An example would be:
P_npw = exp(a - c*log(temperatura)- (b/temperatura));
temp = log(temperatura);
temp *= c;
temp = a - temp;
temp = temp - (b/temperatura);
P_npw = exp(temp);
Just some suggestions to figure out where the problem is.