{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,2]],"date-time":"2025-08-02T14:29:24Z","timestamp":1754144964085,"version":"3.41.2"},"reference-count":59,"publisher":"Association for Computing Machinery (ACM)","issue":"PLDI","license":[{"start":{"date-parts":[[2025,6,13]],"date-time":"2025-06-13T00:00:00Z","timestamp":1749772800000},"content-version":"vor","delay-in-days":3,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2110861;2312220"],"award-info":[{"award-number":["2110861;2312220"]}],"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":[[2025,6,10]]},"abstract":"<jats:p>Our RLibm project has recently proposed methods to generate a single implementation for an elementary  \nfunction that produces correctly rounded results for multiple rounding modes and representations with  \nup to 32-bits. They are appealing for developing fast reference libraries without double rounding issues. The key insight is to build polynomial approximations that produce the correctly rounded result for a representation with two additional bits when compared to the largest target representation and with the \"non-standard\" round-to-odd rounding mode, which makes double rounding the RLibm math library result to any smaller target representation innocuous. The resulting approximations generated by the RLibm approach are implemented with machine supported floating-point operations with the round-to-nearest rounding mode. When an application uses a rounding mode other than the round-to-nearest mode, the RLibm math library saves the application's rounding mode, changes the system's rounding mode to round-to-nearest, computes the correctly rounded result, and restores the application\u2019s rounding mode. This frequent change of rounding modes has a performance cost.<\/jats:p>\n          <jats:p>This paper proposes two new methods, which we call rounding-invariant outputs and rounding-invariant  \ninput bounds, to avoid the frequent changes to the rounding mode and the dependence on the round-to-nearest mode. First, our new rounding-invariant outputs method proposes using the round-to-zero rounding mode to implement RLibm's polynomial approximations. We propose fast, error-free transformations to emulate a round-to-zero result from any standard rounding mode without changing the rounding mode. Second, our rounding-invariant input bounds method factors any rounding error due to different rounding modes using interval bounds in the RLibm pipeline. Both methods make a different set of trade-offs and improve the performance of resulting libraries by more than 2X.<\/jats:p>","DOI":"10.1145\/3729332","type":"journal-article","created":{"date-parts":[[2025,6,13]],"date-time":"2025-06-13T16:02:27Z","timestamp":1749830547000},"page":"2032-2055","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Correctly Rounded Math Libraries without Worrying about the Application\u2019s Rounding Mode"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0009-0002-1528-562X","authenticated-orcid":false,"given":"Sehyeok","family":"Park","sequence":"first","affiliation":[{"name":"Rutgers University, Piscataway, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0002-1481-5019","authenticated-orcid":false,"given":"Justin","family":"Kim","sequence":"additional","affiliation":[{"name":"Rutgers University, Piscataway, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5048-8548","authenticated-orcid":false,"given":"Santosh","family":"Nagarakatte","sequence":"additional","affiliation":[{"name":"Rutgers University, Piscatway, USA"}]}],"member":"320","published-online":{"date-parts":[[2025,6,13]]},"reference":[{"key":"e_1_2_2_1_1","unstructured":"Mridul Aanjaneya Jay P. Lim and Santosh Nagarakatte. 2021. RLIBM-Prog: Progressive Polynomial Approximations for Correctly Rounded Math Libraries. arxiv:2111.12852. Rutgers Department of Computer Science Technical Report DCS-TR-758"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3519939.3523447"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3579990.3580022"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3656427"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2008.216"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3054947"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3632874"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH.2007.17"},{"key":"e_1_2_2_9_1","unstructured":"Nicolas Brisebarre Guillaume Hanrot Jean-Michel Muller and Paul Zimmermann. 2024. Correctly-rounded evaluation of a function: why how and at what cost? May https:\/\/hal.science\/hal-04474530 working paper or preprint"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.tcs.2010.11.052"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15582-6_5"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2007.4385491"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3563353"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1137\/1024023"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1117\/12.505591"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH.2005.25"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2010.128"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1141277.1141584"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01397083"},{"key":"e_1_2_2_20_1","unstructured":"Nestor Demeure. 2020. Compromise between precision and performance in high-performance computing. Ph. D. Dissertation. Universit\u00e9 Paris-Saclay. https:\/\/tel.archives-ouvertes.fr\/tel-03116750"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236463.1236468"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0000475"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0028391"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03359-9_4"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/363707.363723"},{"key":"e_1_2_2_26_1","unstructured":"William Kahan. 2004. A Logarithm Too Clever by Half. https:\/\/people.eecs.berkeley.edu\/~wkahan\/LOG10HAF.TXT"},{"volume-title":"The Art of Computer Programming Volume 2: Seminumerical Algorithms","author":"Knuth Donald E.","key":"e_1_2_2_27_1","unstructured":"Donald E. Knuth. 1998. The Art of Computer Programming Volume 2: Seminumerical Algorithms. Addison-Wesley."},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.4230\/DagSemProc.05391.3"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158135"},{"key":"e_1_2_2_30_1","unstructured":"Jay P. Lim Mridul Aanjaneya John Gustafson and Santosh Nagarakatte. 2020. A Novel Approach to Generate Correctly Rounded Math Libraries for New Floating Point Representations. arxiv:2007.05344. Rutgers Department of Computer Science Technical Report DCS-TR-753"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3434310"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454049"},{"key":"e_1_2_2_33_1","doi-asserted-by":"crossref","unstructured":"Jay P Lim and Santosh Nagarakatte. 2021. RLIBM-32: High Performance Correctly Rounded Math Libraries for 32-bit Floating Point Representations. arxiv:2104.04043. Rutgers Department of Computer Science Technical Report DCS-TR-754","DOI":"10.1145\/3453483.3454049"},{"key":"e_1_2_2_34_1","unstructured":"Jay P. Lim and Santosh Nagarakatte. 2021. RLIBM-ALL: A Novel Polynomial Approximation Method to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes. arxiv:2108.06756. Rutgers Department of Computer Science Technical Report DCS-TR-757"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/3498664"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1353445.1353446"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4899-7983-4"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-76526-6"},{"key":"e_1_2_2_39_1","volume-title":"Lim","author":"Nagarakatte Santosh","year":"2024","unstructured":"Santosh Nagarakatte, Sehyeok Park, Mridul Aanjaneya, and Jay P. Lim. 2024. The RLIBM Project. https:\/\/www.cs.rutgers.edu\/~santosh.nagarakatte\/rlibm\/"},{"key":"e_1_2_2_40_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_2_41_1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718072"},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","unstructured":"Sehyeok Park Justin Kim and Santosh Nagarakatte. 2025. Artifact for Correctly Rounded Math Libraries Without Worrying about the Application\u2019s Rounding Mode. https:\/\/doi.org\/10.5281\/zenodo.15066862 10.5281\/zenodo.15066862","DOI":"10.5281\/zenodo.15066862"},{"key":"e_1_2_2_43_1","doi-asserted-by":"crossref","unstructured":"Sehyeok Park Justin Kim and Santosh Nagarakatte. 2025. RLIBM-MultiRound: Correctly Rounded Math Libraries Without Worrying about the Application\u2019s Rounding Mode. arxiv:2504.07409. Rutgers Department of Computer Science Technical Report DCS-TR-759","DOI":"10.1145\/3729332"},{"key":"e_1_2_2_44_1","volume-title":"Proceedings of the International Workshop on Verification of Scientific Software (VSS","author":"Park Sehyeok","year":"2025","unstructured":"Sehyeok Park and Santosh Nagarakatte. 2025. Fast Trigonometric Functions using the RLIBM Approach. In Proceedings of the International Workshop on Verification of Scientific Software (VSS 2025)."},{"key":"e_1_2_2_45_1","unstructured":"Douglas M. Priest. 1992. On Properties of Floating Point Arithmetics: Numerical Stability and the Cost of Accurate Computations. Ph. D. Dissertation. USA. UMI Order No. GAX93-30692"},{"key":"e_1_2_2_46_1","volume-title":"Sur un proc\u00e9d\u00e9 convergent d\u2019approximations successives pour d\u00e9terminer les polyn\u00f4mes d\u2019approximation. Comptes rendus de l\u2019Acad\u00e9mie des Sciences, 198","author":"Remes Eugene","year":"1934","unstructured":"Eugene Remes. 1934. Sur un proc\u00e9d\u00e9 convergent d\u2019approximations successives pour d\u00e9terminer les polyn\u00f4mes d\u2019approximation. Comptes rendus de l\u2019Acad\u00e9mie des Sciences, 198 (1934), 2063\u20132065."},{"key":"e_1_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1137\/080738490"},{"key":"e_1_2_2_48_1","volume-title":"3rd International Workshop on the ACL2 Theorem Prover and its Applications.","author":"Sawada Jun","year":"2002","unstructured":"Jun 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_2_49_1","doi-asserted-by":"publisher","DOI":"10.1007\/PL00009321"},{"key":"e_1_2_2_50_1","volume-title":"The CORE-MATH Project. In ARITH 2022 - 29th IEEE Symposium on Computer Arithmetic. virtual, France. https:\/\/hal.inria.fr\/hal-03721525","author":"Sibidanov Alexei","year":"2022","unstructured":"Alexei Sibidanov, Paul Zimmermann, and St\u00e9phane Glondu. 2022. The CORE-MATH Project. In ARITH 2022 - 29th IEEE Symposium on Computer Arithmetic. virtual, France. https:\/\/hal.inria.fr\/hal-03721525"},{"key":"e_1_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARITH.1999.762822"},{"key":"e_1_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/63522.214389"},{"key":"e_1_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/98267.98294"},{"key":"e_1_2_2_54_1","doi-asserted-by":"publisher","unstructured":"P. T. P. Tang. 1991. Table-lookup algorithms for elementary functions and their error analysis. In [1991] Proceedings 10th IEEE Symposium on Computer Arithmetic. 232\u2013236. https:\/\/doi.org\/10.1109\/ARITH.1991.145565 10.1109\/ARITH.1991.145565","DOI":"10.1109\/ARITH.1991.145565"},{"key":"e_1_2_2_55_1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611975949"},{"key":"e_1_2_2_56_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_2_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290369"},{"key":"e_1_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/114697.116813"},{"key":"e_1_2_2_59_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\/pdf\/10.1145\/3729332","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3729332","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,16]],"date-time":"2025-07-16T06:05:53Z","timestamp":1752645953000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3729332"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,10]]},"references-count":59,"journal-issue":{"issue":"PLDI","published-print":{"date-parts":[[2025,6,10]]}},"alternative-id":["10.1145\/3729332"],"URL":"https:\/\/doi.org\/10.1145\/3729332","relation":{},"ISSN":["2475-1421"],"issn-type":[{"type":"electronic","value":"2475-1421"}],"subject":[],"published":{"date-parts":[[2025,6,10]]},"assertion":[{"value":"2024-11-14","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-03-06","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-06-13","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}