{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T06:19:22Z","timestamp":1784182762450,"version":"3.55.0"},"reference-count":61,"publisher":"Association for Computing Machinery (ACM)","issue":"POPL","license":[{"start":{"date-parts":[[2021,1,4]],"date-time":"2021-01-04T00:00:00Z","timestamp":1609718400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1908798, 1917897, 1453086"],"award-info":[{"award-number":["1908798, 1917897, 1453086"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2021,1,4]]},"abstract":"<jats:p>Given the importance of floating point (FP) performance in numerous domains, several new variants of FP and its alternatives have been proposed (e.g., Bfloat16, TensorFloat32, and posits). These representations do not have correctly rounded math libraries. Further, the use of existing FP libraries for these new representations can produce incorrect results. This paper proposes a novel approach for generating polynomial approximations that can be used to implement correctly rounded math libraries. Existing methods generate polynomials that approximate the real value of an elementary function \ud835\udc53 (\ud835\udc65) and produce wrong results due to approximation errors and rounding errors in the implementation. In contrast, our approach generates polynomials that approximate the correctly rounded value of \ud835\udc53 (\ud835\udc65) (i.e., the value of \ud835\udc53 (\ud835\udc65) rounded to the target representation). It provides more margin to identify efficient polynomials that produce correctly rounded results for all inputs. We frame the problem of generating efficient polynomials that produce correctly rounded results as a linear programming problem. Using our approach, we have developed correctly rounded, yet faster, implementations of elementary functions for multiple target representations.<\/jats:p>","DOI":"10.1145\/3434310","type":"journal-article","created":{"date-parts":[[2021,1,4]],"date-time":"2021-01-04T12:34:24Z","timestamp":1609763664000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":19,"title":["An approach to generate correctly rounded math libraries for new floating point variants"],"prefix":"10.1145","volume":"5","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7572-4017","authenticated-orcid":false,"given":"Jay P.","family":"Lim","sequence":"first","affiliation":[{"name":"Rutgers University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mridul","family":"Aanjaneya","sequence":"additional","affiliation":[{"name":"Rutgers University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John","family":"Gustafson","sequence":"additional","affiliation":[{"name":"National University of Singapore, Singapore"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5048-8548","authenticated-orcid":false,"given":"Santosh","family":"Nagarakatte","sequence":"additional","affiliation":[{"name":"Rutgers University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,1,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH.2019.00014"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2345156.2254118"},{"key":"e_1_2_1_3_1","volume-title":"Learning compositional functions via multiplicative weight updates. arXiv","author":"Bernstein Jeremy","year":"2006","unstructured":"Jeremy Bernstein, Jiawei Zhao, Markus Meister, Ming-Yu Liu, Anima Anandkumar, and Yisong Yue. 2020. Learning compositional functions via multiplicative weight updates. arXiv: 2006. 14560 [cs.NE]"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-0793-1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH.2007.17"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1141885.1141890"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/CCECE.1999.807240"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15582-6_5"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2007.4385491"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3386004"},{"key":"e_1_2_1_14_1","volume-title":"Software manual for the elementary functions","author":"Cody William J","unstructured":"William J Cody and William M Waite. 1980. Software manual for the elementary functions. Prentice-Hall, Englewood Clifs, NJ."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEEESTD"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.29007\/j2fd"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1117\/12.505591"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH.2005.25"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1141277.1141584"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236463.1236468"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314632"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"Ambros Gleixner Daniel E. Stefy and Kati Wolter. 2015. Iterative Refinement for Linear Programming. Technical Report 15-15. ZIB Takustr. 7 14195 Berlin. https:\/\/doi.org\/10.1287\/ijoc. 2016.0692 10.1287\/ijoc.2016.0692","DOI":"10.1287\/ijoc"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2442829.2442858"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-47764-0_14"},{"key":"e_1_2_1_26_1","unstructured":"John Gustafson. 2017. Posit Arithmetic. https:\/\/posithub.org\/docs\/Posits4.pdf"},{"key":"e_1_2_1_27_1","unstructured":"John Gustafson. 2020. The Minefield Method: A Uniformly Fast Solution to the Table-Maker's Dilemma. https:\/\/bit.ly\/2ZP4kHj"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14529\/jsfi170206"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0000475"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0028391"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03359-9_4"},{"key":"e_1_2_1_32_1","unstructured":"IBM. 2008. Accurate Portable MathLib. http:\/\/oss.software.ibm.com\/mathlib\/"},{"key":"e_1_2_1_33_1","unstructured":"Intel. 2019. Delivering a New Intelligence with AI at Scale. https:\/\/www.intel.com\/content\/www\/us\/en\/artificial-intelligence\/ posts\/nnp-aisummit.html"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC"},{"key":"e_1_2_1_35_1","unstructured":"Jef Johnson. 2018. Rethinking floating point for deep learning. http:\/\/export.arxiv.org\/abs\/ 1811.01721"},{"key":"e_1_2_1_36_1","unstructured":"William Kahan. 2004. A Logarithm Too Clever by Half. https:\/\/people.eecs.berkeley.edu\/~wkahan\/LOG10HAF.TXT"},{"key":"e_1_2_1_37_1","unstructured":"Dhiraj D. Kalamkar Dheevatsa Mudigere Naveen Mellempudi Dipankar Das Kunal Banerjee Sasikanth Avancha Dharma Teja Vooturi Nataraj Jammalamadaka Jianyu Huang Hector Yuen Jiyan Yang Jongsoo Park Alexander Heinecke Evangelos Georganas Sudarshan Srinivasan Abhisek Kundu Misha Smelyanskiy Bharat Kaul and Pradeep Dubey. 2019. A Study of BFLOAT16 for Deep Learning Training. arXiv: 1905.12322"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44199-2_106"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158135"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.736435"},{"key":"e_1_2_1_42_1","unstructured":"Cerlane Leong. 2019. SoftPosit-Math. https:\/\/gitlab.com\/cerlane\/softposit-math"},{"key":"e_1_2_1_43_1","volume-title":"A Novel Approach to Generate Correctly Rounded Math Libraries for New Floating Point Representations. arXiv","author":"Lim Jay P.","year":"2007","unstructured":"Jay P. Lim, Mridul Aanjaneya, John Gustafson, and Santosh Nagarakatte. 2020a. A Novel Approach to Generate Correctly Rounded Math Libraries for New Floating Point Representations. arXiv: 2007. 05344 [cs.MS]"},{"key":"e_1_2_1_44_1","volume-title":"Lim and Santosh Nagarakatte","author":"Jay","year":"2020","unstructured":"Jay P. Lim and Santosh Nagarakatte. 2020a. RLibm. https:\/\/github.com\/rutgers-apl\/rlibm"},{"key":"e_1_2_1_45_1","volume-title":"Lim and Santosh Nagarakatte","author":"Jay","year":"2020","unstructured":"Jay P. Lim and Santosh Nagarakatte. 2020b. RLibm-generator. https:\/\/github.com\/rutgers-apl\/rlibm-generator"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3387902.3392632"},{"key":"e_1_2_1_47_1","unstructured":"Guillaume Melquiond. 2019. Gappa. http:\/\/gappa.gforge.inria.fr"},{"key":"e_1_2_1_48_1","unstructured":"Sun Microsystems. 2008. LIBMCR 3 \" 16 February 2008 \" \"libmcr-0.9\". http:\/\/www.math.utah.edu\/cgi-bin\/man2html.cgi?\/usr\/ local\/man\/man3\/libmcr.3"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4899-7983-4"},{"key":"e_1_2_1_50_1","unstructured":"NVIDIA. 2020. TensorFloat-32 in the A100 GPU Accelerates AI Training HPC up to 20x. https:\/\/blogs.nvidia.com\/blog\/2020\/ 05\/14\/tensorfloat-32-precision-format\/"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2813885.2737959"},{"key":"e_1_2_1_52_1","volume-title":"Sur un proc\u00e9d\u00e9 convergent d'approximations successives pour d\u00e9terminer les polyn\u00f4mes d'approximation. Comptes rendus de l' Acad\u00e9mie des Sciences 198 ( 1934 )","author":"Remes Eugene","year":"2063","unstructured":"Eugene Remes. 1934. Sur un proc\u00e9d\u00e9 convergent d'approximations successives pour d\u00e9terminer les polyn\u00f4mes d'approximation. Comptes rendus de l' Acad\u00e9mie des Sciences 198 ( 1934 ), 2063-2065."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3296979.3192411"},{"key":"e_1_2_1_54_1","volume-title":"3rd International Workshop on the ACL2 Theorem Prover and its Applications.","author":"Sawada Joe","year":"2002","unstructured":"Joe Sawada. 2002. Formal verification of divide and square root algorithms using series calculation. In 3rd International Workshop on the ACL2 Theorem Prover and its Applications."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.23919\/DATE"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/98267.98294"},{"key":"e_1_2_1_57_1","volume-title":"Approximation Theory and Approximation Practice (Other Titles in Applied Mathematics)","author":"Trefethen Lloyd N.","unstructured":"Lloyd N. Trefethen. 2012. Approximation Theory and Approximation Practice (Other Titles in Applied Mathematics). Society for Industrial and Applied Mathematics, USA."},{"key":"e_1_2_1_58_1","unstructured":"Shibo Wang and Pankaj Kanwar. 2019. BFloat16: The secret to high performance on Cloud TPUs. https:\/\/cloud.google.com\/ blog\/products\/ai-machine-learning\/bfloat16-the-secret-to-high-performance-on-cloud-tpus"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290369"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/114697.116813"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371128"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3434310","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3434310","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3434310","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T07:24:56Z","timestamp":1781853896000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3434310"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1,4]]},"references-count":61,"journal-issue":{"issue":"POPL","published-print":{"date-parts":[[2021,1,4]]}},"alternative-id":["10.1145\/3434310"],"URL":"https:\/\/doi.org\/10.1145\/3434310","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1,4]]},"assertion":[{"value":"2021-01-04","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}