Checkpoint repair for out-of-order execution machines
ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
Instruction issue logic for high-performance, interruptable pipelined processors
ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
Level-index arithmetic operations
SIAM Journal on Numerical Analysis
Computer architecture: a quantitative approach
Computer architecture: a quantitative approach
What every computer scientist should know about floating-point arithmetic
ACM Computing Surveys (CSUR)
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
LAPACK's user's guide
American Mathematical Monthly
Communications of the ACM
The evolution of C++
Implementing complex elementary functions using exception handling
ACM Transactions on Mathematical Software (TOMS)
Journal of the ACM (JACM)
Implementation of precise interrupts in pipelined processors
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
A Portable Fortran Program to Find the Euclidean Norm of a Vector
ACM Transactions on Mathematical Software (TOMS)
Extended-Range Arithmetic and Normalized Legendre Polynomials
ACM Transactions on Mathematical Software (TOMS)
A Simple but Realistic Model of Floating-Point Computation
ACM Transactions on Mathematical Software (TOMS)
Faster Numerical Algorithms Via Exception Handling
IEEE Transactions on Computers
On the Correctness of Parallel Bisection in Floating Point
On the Correctness of Parallel Bisection in Floating Point
A proposed standard for binary floating point arthmetic
ACM SIGNUM Newsletter
On a proposed floating-point standard
ACM SIGNUM Newsletter
Proposal to eliminate denormalized numbers
ACM SIGNUM Newsletter
Propagation of Roundoff Errors in Finite Precision Computations: A Semantics Approach
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Termination of Floating-Point Computations
Journal of Automated Reasoning
Semantics of roundoff error propagation in finite precision calculations
Higher-Order and Symbolic Computation
Automatic detection of floating-point exceptions
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
How do you compute the midpoint of an interval?
ACM Transactions on Mathematical Software (TOMS)
On-the-fly detection of instability problems in floating-point program execution
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
There are a number of schemes for handling arithmetic exceptions that can be used to improve the speed (or alternatively the reliability) of numeric code. Overflow and underflow are the most troublesome exceptions, and depending on the context in which the exception can occur, they may be addressed either: (1) through a “brute force” reevaluation with extended range, (2) by reevaluating using a technique known as scaling, (3) by substituting an infinity or zero, or (4) in the case of underflow, with gradual underflow. In the first two of these cases, the offending computation is simply reevaluated using a safer but slower method. The latter two cases are cheaper, more automated schemes that ideally are built in as options within the computer system. Other arithmetic exceptions can be handled with similar methods. These and some other techniques are examined with an eye toward determining the support programming languages and computer systems ought to provide for floating-point exception handling. It is argued that the cheapest short-term solution would be to give full support to most of the required (as opposed to recommended) special features of the IEC/IEEE Standard for Binary Floating-Point Arithmetic. An essential part of this support would include standardized access from high-level languages to the exception flags defined by the standard. Some possibilities outside the IEEE Standard are also considered, and a few thought on possible better-structured support within programming languages are discussed.