Nonmem seems to hang itself/Powers - floating-point exception error
From: FERDINAND.ROMBOUT.FR@bayer-ag.de
Subject: Nonmem seems to hang itself/Powers - floating-point exception error
Date: 15 Oct 1997 09:28:26 -0400
Dear all,
Recently we got a problem in which NONMEM did not seem to move anymore. It was frozen after a certain iteration. After having run NONMEM through a 'debugger' (prof), the reason was a floating-point exception error. Fixing the problem as has been defined before in this discussion group by using:
Q=0
IF (BASE.EQ.0) Q=1
RESULT=(1-Q)*(BASE+Q)**POWER
did not solve it.
We than used a little trick on our Silicon Graphics Origin/O2 which was quite simple, add: -lfpe to your compilation options and add the environmental variable TRAP_FPE set it for example to set env TRAP_FPE "ALL=COUNT; UNDERFLOW=0; OVERFLOW=ABORT;DEVZERO=ABORT;INVALID=0" or anything else one can support/defend.
I do not know if this problem also occurs at other systems, but it is worth a try to find a similar solution. The main reason in our problem was underflow and invalid FPE, since the formula above should take care of this, it might be something worth to think about when something strange is happening in an if statement. Could it be internal rounding?
Ferdie Rombout
Clinical Pharmacokinetics
Bayer AG
Wuppertal
Germany