Subscribe

Issue No.08 - Aug. (2012 vol.61)

pp: 1084-1096

Abhilasha Aswal , International Institute of Information Technology, Bangalore and Infosys Limited, Bangalore

M. Ganesh Perumal , International Institute of Information Technology, Bangalore and Infosys Limited, Bangalore

G.N. Srinivasa Prasanna , International Institute of Information Technology, Bangalore

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2012.89

ABSTRACT

Financial transactions are specified in decimal arithmetic. Until the introduction of IEEE 754-2008, specialized software/hardware routines were used to perform these transactions but it incurred a penalty on performance. In this paper, we show that if binary arithmetic is used to emulate decimal operations, then arbitrary error sequences can be generated by carefully chosen sequences of transactions which can lead to monotonically increasing/decreasing capitalization errors. In addition, we describe methods for correctly performing basic decimal operations, such as addition, subtraction, multiplication, and division, on binary machines, which are not conformant with IEEE 754-2008 decimal floating point standard (ISO/IEC/IEEE 60559:2011), at high speed.

INDEX TERMS

Floating-point arithmetic, IEEE 754 standards, computer arithmetic.

CITATION

Abhilasha Aswal, M. Ganesh Perumal, G.N. Srinivasa Prasanna, "On Basic Financial Decimal Operations on Binary Machines",

*IEEE Transactions on Computers*, vol.61, no. 8, pp. 1084-1096, Aug. 2012, doi:10.1109/TC.2012.89REFERENCES

- [1] D. Goldberg, "What Every Computer Scientist Should Know about Floating-Point Arithmetic,"
Computing Surveys, vol. 23, pp. 5-48, 1991.- [2] N.J. Higham, "The Accuracy of Floating Point Summation,"
SIAM J. Scientific Computing, vol. 14, pp. 783-799, July 1993.- [3] M.F. Cowlishaw, "General Decimal Arithmetic," http:// speleotrove.comdecimal/, 2012.
- [4] M.F. Cowlishaw, "Decimal Floating-Point: Algorism for Computers,"
Proc. IEEE 16th Symp. Computer Arithmetic, 2003.- [5] P.M. Cohen, "Reflections on Early Computers," http://www. paulcweb.com/reflectChap04.html , 2012.
- [6] J. von Neumann, "First Draft of a Report on the EDVAC,"
IEEE Annals of the History of Computing, vol. 15, no. 4, pp. 27-75, Oct. 1993.- [7] W. Kahan,
IEEE Standard 754 for Binary Floating-Point Arithmetic," Standards Committee of the IEEE CS, 1996.- [8] W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery,
Numerical Recipes in C, second ed. Cambridge Univ. Press, 1992.- [9] "The ${\rm ASTR}\acute{E}{\rm E}$ Static Analyzer," http:/www.astree.ens.fr/, 2012.
- [10] D. Knuth, "Chapter 4 - Arithmetic,"
The Art of Computer Programming: Seminumerical Algorithms, third ed. Addison-Wesley, 1997.- [11] W. Kahan, "Floating-Point Arithmetic Besieged by Business Decisions,"
Proc. IEEE 17th Symp. Computer Arithmetic, 2010.- [12] J.-M. Muller, N. Brisebarre, F. de Dinechin, C.-P. Jeannerod, V. Lefevre, G. Melquiond, N. Revol, D. Stehle, and S. Torres,
Handbook of Floating-Point Arithmetic. Springer, 2010.- [13] "Online Binary-Decimal Converter," http://www.binaryconvert. comindex.html, 2012.
- [14] M.J. Anderson, C. Tsen, L.-K. Wang, K. Compton, and M.J Schulte, "Performance Analysis of Decimal Floating-Point Libraries and Its impact on Decimal Hardware and Software Solutions,"
Proc. IEEE Int'l Conf. Computer Design, pp. 465-471, Oct. 2009.- [15]
Intel, Intel 64 and IA-32 Architectures Software Developers Manual, vol. 1: Basic Architecture, 2009.- [16] A. Fog, "Instruction Tables," http://www.agner.org/optimizeinstruction_tables.pdf , 2012.
- [17] E. Uren, R. Howard, and T. Perinotti,
Software Internationalization and Localization: An Introduction. John Wiley & Sons, 1993.- [18] T. Benchmark, http://speleotrove.com/decimal/telcoSpec.html, 2012.
- [19] Decimal Floating-Point (DFP) Benchmarks, http://mesa.ece. wisc.edudisplay_project.php?projectid=10 , 2012.
- [20] D.M. Gay,
Correctly Rounded Binary-Decimal and Decimal-Binary Conversions. Numerical Analysis Manuscript 90-10, Murray Hill, NJ: AT&T Bell Laboratories, 1990.- [21] M. Cornea, J. Harrison, C. Anderson, P. Tang, E. Schneider, and E. Gvozdev, "A Software Implementation of the IEEE 754R Decimal Floating-Point Arithmetic Using the Binary Encoding Format,"
IEEE Trans. Computers, vol. 58, no. 2, pp. 148-162, Feb. 2009.- [22] L.-K. Wang, C. Tsen, M.J. Schulte, and D. Jhalani, "Benchmarks and Performance Analysis of Decimal Floating-Point Applications,"
Proc. IEEE 25th Int'l Conf. Computer Design, pp. 164-170, Oct. 2007.- [23]
ANSI/IEEE Standard for Floating-Point Arithmetic, IEEE Standard, pp. 754-1985, 1985.- [24]
IEEE Standard for Floating-Point Arithmetic, IEEE Standard 754-2008, 2008.- [25] The Int'l Version of IEEE 754-2008, ISO/IEC/IEEE 60559:2011, http://www.iso.org/isocatalogue_detail.htm?csnumber=57469 , 2012.
- [26] S. Carlough, A. Collura, S. Mueller, and M. Kroener, "The IBM zEnterprise-196 Decimal Floating-Point Accelerator,"
Proc. IEEE 20th Symp. Computer Arithmetic, 2011. |