What every computer scientist should know about floating-point arithmetic
ACM Computing Surveys (CSUR)
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Systematic design of program transformation frameworks by abstract interpretation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Propagation of Roundoff Errors in Finite Precision Computations: A Semantics Approach
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Asserting the Precision of Floating-Point Computations: A Simple Abstract Interpreter
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Greedy algorithms for optimizing multivariate Horner schemes
ACM SIGSAM Bulletin
Control Code Obfuscation by Abstract Interpretation
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Semantics of roundoff error propagation in finite precision calculations
Higher-Order and Symbolic Computation
How to Ensure a Faithful Polynomial Evaluation with the Compensated Horner Algorithm
ARITH '07 Proceedings of the 18th IEEE Symposium on Computer Arithmetic
Fixed-point configurable hardware components
EURASIP Journal on Embedded Systems
The pitfalls of verifying floating-point computations
ACM Transactions on Programming Languages and Systems (TOPLAS)
An overview of semantics for the validation of numerical programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Semantics-based transformation of arithmetic expressions
SAS'07 Proceedings of the 14th international conference on Static Analysis
Astrée: from research to industry
SAS'07 Proceedings of the 14th international conference on Static Analysis
Accuracy versus time: a case study with summation algorithms
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation
A new abstract domain for the representation of mathematically equivalent expressions
SAS'12 Proceedings of the 19th international conference on Static Analysis
Synthesis of fixed-point programs
Proceedings of the Eleventh ACM International Conference on Embedded Software
Hi-index | 0.00 |
This article introduces some techniques to estimate and to improve the numerical quality of computations performed using different computer arithmetics. A general methodology is introduced and it is applied to the fixed-point and floating-point formats. We show how to globally measure the quality of the implementation of a formula with respect to some quality indicators. In the case of the floating-point arithmetic, the indicator measures the distance between the computer and exact results in the worst case. In the case of the fixed-point arithmetic, the indicator bounds the number of digits needed to represent all the intermediary results. Next, we show how the operations which make mostly decrease the quality of an indicator can be identified. This information helps the programmer to improve the implementation by underlying the main sources of degradation. Finally, we introduce a fully automatic expression transformation technique to rewrite a formula into a better, mathematically equivalent one. The new formula is more accurate than the original one with respect to the chosen quality indicator.