On ia32 systems, the precision bits control the precision to which the FPU rounds floating-point numbers. For example:
USE DFLIB
INTEGER(2) control, holdcontrol, newcontrol
CALL GETCONTROLFPQQ(control)
! Clear any existing precision flags.
holdcontrol = (control .AND. (.NOT. FPCW$MCW_PC))
newcontrol = holdcontrol .OR. FPCW$64
! Set precision to 64 bits.
CALL SETCONTROLFPQQ(newcontrol)
The precision options are mutually exclusive. If you set more than one, you may get an invalid mode or a mode other than the one you want. Therefore, you should clear the precision bits before setting a new precision mode.