Automated backward error analysis for numerical code

Zhoulai Fu, Zhaojun Bai, Zhendong Su
2015 Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications - OOPSLA 2015  
Numerical code uses floating-point arithmetic and necessarily suffers from roundoff and truncation errors. Error analysis is the process to quantify such uncertainty. Forward error analysis and backward error analysis are two popular paradigms of error analysis. Forward error analysis is intuitive, and has been explored and automated by the programming languages (PL) community. In contrast, although backward error analysis is fundamental for numerical stability and is preferred by numerical
more » ... ed by numerical analysts, it is less known and unexplored by the PL community. To fill this gap, this paper presents an automated backward error analysis for numerical code to empower both numerical analysts and application developers. In addition, we use the computed backward error results to compute the condition number, an important quantity recognized by numerical analysts for measuring a function's sensitivity to errors in the input and finite precision arithmetic. Experimental results on Intel x87 FPU instructions and widely-used GNU C Library functions demonstrate that our analysis is effective at analyzing the accuracy of floating-point programs.
doi:10.1145/2814270.2814317 dblp:conf/oopsla/FuBS15 fatcat:enibc4lu75c6tj52wxhwutunci