Selectable Floating-Point Operation Precision

Within the Alpha architecture, floating-point operations can be carried out in either single-precision (32-bit) or double-precision (64-bit) format. In general, single-precision operations are marginally faster than double-precision operations, with the exception of divide operations, which are significantly slowed by the use of double precision. Within the x86 architecture, temporary floating-point values default to 80-bit precision.

On Alpha platforms, floating-point precision optimization is selectable by using the /Op and /Op– switches. The /Op switch disables precision-losing optimizations, while the /Op– switch allows these optimizations. The /Op– switch allows the use of arithmetic identities that can lose some accuracy. For example, with floating-point hardware, the operation [(a+b)+c] might return a result that is different from [a+(b+c)]. Although this might create slower code, results of small and large values alike are more accurate.