DOI QR코드

DOI QR Code

Fast Algorithms for Computing Floating-Point Reciprocal Cube Root Functions

  • Received : 2023.06.05
  • Published : 2023.06.30

Abstract

In this article the problem of computing floating-point reciprocal cube root functions is considered. Our new algorithms for this task decrease the number of arithmetic operations used for computing $1/{\sqrt[3]{x}}$. A new approach for selection of magic constants is presented in order to minimize the computation time for reciprocal cube roots of arguments with movable decimal point. The underlying theory enables partitioning of the base argument range x∈[1,8) into 3 segments, what in turn increases accuracy of initial function approximation and decreases the number of iterations to one. Three best algorithms were implemented and carefully tested on 32-bit microcontroller with ARM core. Their custom C implementations were favourable compared with the algorithm based on cbrtf(x) function taken from C <math.h> library on three different hardware platforms. As a result, the new fast approximation algorithm for the function $1/{\sqrt[3]{x}}$ was determined that outperforms all other algorithms in terms of computation time and cycle count.

Keywords

References

  1. Bailey D. and Borwein, J. (2012). Ancient Indian Square Roots: An Exercise in Forensic Paleo-Mathematics, American Mathematical Monthly. 119, doi: 10.4169/amer.math.monthly.119.08.646.
  2. Long Division Method: https://www.wikihow.com/Calculate-Cube-Root-by-Hand
  3. Singh Y.K. Computing cube root of a positive number. ADBU-Journal of Engineering Technology, AJET, Volume 4(1), 2016, pp. 85-89, ISSN: 2348-7305,
  4. Beasley, A.E., Watson, R.J., Clarke, C.T. "Efficient digital implementaton of a multi-precision square-root algorithm", IET Computers & Digital Techniques. 2019, Vol. 13 Issue 2, pp. 110-117, doi: 10.1049/iet-cdt.2018.5051
  5. Peng, H. "Algorithms for extracting square roots and cube roots", 1981 IEEE 5th Symposium on Computer Arithmetic (ARITH), 1981, pp. 121-126, doi: 10.1109/ARITH.1981.6159287.
  6. Guardia C. M. and Boemo E., "FPGA implementation of a binary32 floating point cube root", 2014 IX Southern Conference on Programmable Logic (SPL), 2014, pp. 1-6, doi: 10.1109/SPL.2014.7002202.
  7. Putra R. V. W. and Adiono T., "Optimized hardware algorithm for integer cube root calculation and its efficient architecture", 2015 International Symposium on Intelligent Signal Processing and Communication Systems (ISPACS), 2015, pp. 263-267, doi: 10.1109/ISPACS.2015.7432777.
  8. Moroz, L., Samotyy, V.; Walczyk, C.J.; Cieslinski, J.L. "Fast Calculation of Cube and Inverse Cube Roots Using a Magic Constant and Its Implementation on Microcontrollers", Energies, 2021, 14, 1058, doi: 10.3390/en14041058
  9. Moroz, L.; Samotyy, V.; Horyachyy, O.; Dzelendzyak, U. "Algorithms for calculating the square root and inverse square root based on the second-order Householder's method", In Proceedings of the 2019 10th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS), Metz, France, 18-21 September 2019; pp. 436-442. doi: 10.1109/IDAACS.2019.8924302