{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,7]],"date-time":"2026-08-07T01:41:13Z","timestamp":1786066873222,"version":"3.56.0"},"reference-count":34,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T00:00:00Z","timestamp":1781827200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/legalcode"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2026,6,30]]},"abstract":"<jats:p>\n                    A Lipschitz continuous function\n                    <jats:inline-formula content-type=\"math\/tex\">\n                      <jats:tex-math notation=\"LaTeX\" version=\"MathJax\">\\( f \\)<\/jats:tex-math>\n                    <\/jats:inline-formula>\n                    that has a high-precision, albeit slow reference implementation can be evaluated more rapidly by piecewise polynomials, obtained by Chebyshev approximation. The partition into subdomains should be made such that the computation of subdomain index and reduced function argument is fast and introduces no rounding errors. A rigorous analysis of truncation and rounding errors shows that the maximum relative error can be chosen arbitrarily close to\n                    <jats:inline-formula content-type=\"math\/tex\">\n                      <jats:tex-math notation=\"LaTeX\" version=\"MathJax\">\\(2\\epsilon\\)<\/jats:tex-math>\n                    <\/jats:inline-formula>\n                    , except around zeroes of\n                    <jats:inline-formula content-type=\"math\/tex\">\n                      <jats:tex-math notation=\"LaTeX\" version=\"MathJax\">\\( f \\)<\/jats:tex-math>\n                    <\/jats:inline-formula>\n                    . Alignment of coefficients minimizes cache loading times. Code generation and target algorithms are implemented in the open source project\n                    <jats:italic toggle=\"yes\">ppapp<\/jats:italic>\n                    , maintained at\n                    <jats:ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/jugit.fz-juelich.de\/mlz\/ppapp\">https:\/\/jugit.fz-juelich.de\/mlz\/ppapp<\/jats:ext-link>\n                    , with a snapshot archived in the Collected Algorithms of the ACM. It has been successfully applied to three real-valued functions in the open source complex error function library\n                    <jats:italic toggle=\"yes\">libcerf<\/jats:italic>\n                    .\n                  <\/jats:p>","DOI":"10.1145\/3805698","type":"journal-article","created":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T14:25:06Z","timestamp":1779805506000},"page":"1-16","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Algorithm 1062: Code Generation for Piecewise Chebyshev Approximation"],"prefix":"10.1145","volume":"52","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4028-1447","authenticated-orcid":false,"given":"Joachim","family":"Wuttke","sequence":"first","affiliation":[{"name":"Forschungszentrum J\u00fclich GmbH, J\u00fclich Centre for Neutron Science at MLZ, Garching, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-3710-7004","authenticated-orcid":false,"given":"Alexander","family":"Kleinsorge","sequence":"additional","affiliation":[{"name":"Technische Hochschule Wildau, Studiengang Telematik, Wildau, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2026,6,19]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4899-7983-4"},{"key":"e_1_3_2_3_2","unstructured":"J. Wuttke and A. Kleinsorge. 2026. ppapp Piecewise Polynomial APProximation generator. https:\/\/jugit.fz-juelich.de\/mlz\/ppapp"},{"key":"e_1_3_2_4_2","unstructured":"J. Wuttke and A. Kleinsorge. 2026. ppapp Piecewise Polynomial APProximation generator. Python Package Index. https:\/\/jpypi.org\/project\/ppapp"},{"key":"e_1_3_2_5_2","unstructured":"J. Wuttke and A. Kleinsorge. 2026. ppapp Piecewise Polynomial APProximation generator. Collected Algorithms (CALGO) of the ACM. https:\/\/calgo.acm.org\/1062.zip"},{"key":"e_1_3_2_6_2","first-page":"184","article-title":"Six myths of polynomial interpolation and quadrature","volume":"47","author":"L. N. Trefethen.","year":"2012","unstructured":"L. N. Trefethen. 2012. Six myths of polynomial interpolation and quadrature. Mathematics Today 47 (2012), 184.","journal-title":"Mathematics Today"},{"key":"e_1_3_2_7_2","unstructured":"S. G. Johnson and J. Wuttke. 2013\u20132025. libcerf A Numeric Library Providing Complex Error Functions. Retrieved from https:\/\/jugit.fz-juelich.de\/mlz\/libcerf"},{"key":"e_1_3_2_8_2","unstructured":"S. G. Johnson. 2012. The Faddeeva Package. Retrieved from http:\/\/ab-initio.mit.edu\/faddeeva"},{"key":"e_1_3_2_9_2","unstructured":"E. W. Weisstein. Erfi. From MathWorld\u2014A Wolfram Web Resource. Retrieved from https:\/\/mathworld.wolfram.com\/Erfi.html"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.5555\/1830479"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898717822"},{"key":"e_1_3_2_12_2","unstructured":"T. Geiselbrecht. frexp.c. Retrieved from https:\/\/github.com\/dioptre\/newos\/blob\/master\/lib\/libm\/arch\/sh4\/frexp.c"},{"key":"e_1_3_2_13_2","volume-title":"The Art of Computer Programming. Vol. 2: Seminumerical Algorithms","author":"Knuth D. E.","year":"1998","unstructured":"D. E. Knuth. 1998. The Art of Computer Programming. Vol. 2: Seminumerical Algorithms (3rd ed.). Addison-Wesley, Upper Saddle River, NJ."},{"key":"e_1_3_2_14_2","unstructured":"S. Slotin. 2024. Algorithms for Modern Hardware. Retrieved from https:\/\/en.algorithmica.org\/hpc"},{"key":"e_1_3_2_15_2","volume-title":"Approximation Theory and Approximation Practice. Extended Edition","author":"Trefethen L. N.","year":"2020","unstructured":"L. N. Trefethen. 2020. Approximation Theory and Approximation Practice. Extended Edition. SIAM, Philadelphia, PA."},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.apnum.2015.12.002"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/355602.361311"},{"key":"e_1_3_2_18_2","volume-title":"Chebyshev Polynomials: From Approximation Theory to Algebra and Number Theory","author":"T. J. Rivlin.","year":"1990","unstructured":"T. J. Rivlin. 1990. Chebyshev Polynomials: From Approximation Theory to Algebra and Number Theory (2nd ed.). Wiley, New York, NY."},{"key":"e_1_3_2_19_2","volume-title":"Handbook of Mathematical Functions","author":"Abramowitz M.","year":"1964","unstructured":"M. Abramowitz and I. Stegun. 1964. Handbook of Mathematical Functions. National Bureau of Standards."},{"key":"e_1_3_2_20_2","unstructured":"N. J. A. Sloane. The On-Line Encyclopedia of Integer Sequences. Retrieved from http:\/\/oeis.org"},{"key":"e_1_3_2_21_2","volume-title":"Chebyshev Polynomials","author":"Mason J. C.","year":"2003","unstructured":"J. C. Mason and D. C. Handscomb. 2003. Chebyshev Polynomials. CRC Press, Boca Raton, FL."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.5555\/1383510"},{"key":"e_1_3_2_23_2","unstructured":"The mpmath development team. 2023. mpmath: A Python Library for Arbitrary-Precision Floating-Point Arithmetic (version 1.3.0). Retrieved from https:\/\/mpmath.org"},{"key":"e_1_3_2_24_2","unstructured":"The FLINT Team. 2024. FLINT: Fast Library for Number Theory Version 3.1.2. Retrieved from https:\/\/flintlib.org"},{"key":"e_1_3_2_25_2","unstructured":"Python Package Index. Project Python-Flint. Retrieved from https:\/\/pypi.org\/project\/python-flint"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718027"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1137\/S003614299630587X"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-88-470-5644-2"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.33993\/jnaat542-1640"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1051\/ita:2007003"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-76526-6"},{"key":"e_1_3_2_32_2","unstructured":"The GNU MPFR Library. Retrieved from https:\/\/www.mpfr.org"},{"key":"e_1_3_2_33_2","unstructured":"B. Gladman V. Innocente J. Mather and P. Zimmermann. 2025. Accuracy of Mathematical Functions in Single Double Double Extended and Quadruple Precision. Retrieved from https:\/\/inria.hal.science\/hal-03141101v8"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3747840"},{"key":"e_1_3_2_35_2","author":"J. Wuttke .","unstructured":"J. Wuttke. Code Generation for Computing an Analytical Function with Near Machine Precision on Square Tiles, with Application to the Faddeeva Function. In preparation.","journal-title":"Code Generation for Computing an Analytical Function with Near Machine Precision on Square Tiles, with Application to the Faddeeva Function"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3805698","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T09:25:46Z","timestamp":1781861146000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3805698"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,6,19]]},"references-count":34,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2026,6,30]]}},"alternative-id":["10.1145\/3805698"],"URL":"https:\/\/doi.org\/10.1145\/3805698","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,6,19]]},"assertion":[{"value":"2025-04-16","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2026-03-23","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2026-06-19","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}