{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T08:33:51Z","timestamp":1776846831222,"version":"3.51.2"},"reference-count":18,"publisher":"American Mathematical Society (AMS)","issue":"304","license":[{"start":{"date-parts":[[2017,7,15]],"date-time":"2017-07-15T00:00:00Z","timestamp":1500076800000},"content-version":"am","delay-in-days":365,"URL":"https:\/\/www.ams.org\/publications\/copyright-and-permissions"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Comp."],"abstract":"<p>\n                    The accuracy analysis of complex floating-point multiplication done by Brent, Percival, and Zimmermann [\n                    <italic>Math.\u00a0 Comp.<\/italic>\n                    , 76:1469\u20131481, 2007] is extended to the case where a fused multiply-add (FMA) operation is available. Considering floating-point arithmetic with rounding to nearest and unit roundoff\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"u\">\n                        <mml:semantics>\n                          <mml:mi>u<\/mml:mi>\n                          <mml:annotation encoding=\"application\/x-tex\">u<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    , we show that their bound\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"StartRoot 5 EndRoot u\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:msqrt>\n                              <mml:mn>5<\/mml:mn>\n                            <\/mml:msqrt>\n                            <mml:mspace width=\"thinmathspace\"\/>\n                            <mml:mi>u<\/mml:mi>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">\\sqrt 5 \\, u<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    on the normwise relative error\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"StartAbsoluteValue ModifyingAbove z With caret slash z minus 1 EndAbsoluteValue\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mo stretchy=\"false\">|<\/mml:mo>\n                            <\/mml:mrow>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mover>\n                                <mml:mi>z<\/mml:mi>\n                                <mml:mo>\n                                  ^\n                                  \n                                <\/mml:mo>\n                              <\/mml:mover>\n                            <\/mml:mrow>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mo>\/<\/mml:mo>\n                            <\/mml:mrow>\n                            <mml:mi>z<\/mml:mi>\n                            <mml:mo>\n                              \u2212\n                              \n                            <\/mml:mo>\n                            <mml:mn>1<\/mml:mn>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mo stretchy=\"false\">|<\/mml:mo>\n                            <\/mml:mrow>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">|\\widehat z\/z-1|<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    of a complex product\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"z\">\n                        <mml:semantics>\n                          <mml:mi>z<\/mml:mi>\n                          <mml:annotation encoding=\"application\/x-tex\">z<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    can be decreased further to\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"2 u\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:mn>2<\/mml:mn>\n                            <mml:mi>u<\/mml:mi>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">2u<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    when using the FMA in the most naive way. Furthermore, we prove that the term\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"2 u\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:mn>2<\/mml:mn>\n                            <mml:mi>u<\/mml:mi>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">2u<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    is asymptotically optimal not only for this naive FMA-based algorithm but also for two other algorithms, which use the FMA operation as an efficient way of implementing rounding error compensation. Thus, although highly accurate in the componentwise sense, these two compensated algorithms bring no improvement to the normwise accuracy\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"2 u\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:mn>2<\/mml:mn>\n                            <mml:mi>u<\/mml:mi>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">2u<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    already achieved using the FMA naively. Asymptotic optimality is established for each algorithm thanks to the explicit construction of floating-point inputs for which we prove that the normwise relative error then generated satisfies\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"StartAbsoluteValue ModifyingAbove z With caret slash z minus 1 EndAbsoluteValue right-arrow 2 u\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mo stretchy=\"false\">|<\/mml:mo>\n                            <\/mml:mrow>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mover>\n                                <mml:mi>z<\/mml:mi>\n                                <mml:mo>\n                                  ^\n                                  \n                                <\/mml:mo>\n                              <\/mml:mover>\n                            <\/mml:mrow>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mo>\/<\/mml:mo>\n                            <\/mml:mrow>\n                            <mml:mi>z<\/mml:mi>\n                            <mml:mo>\n                              \u2212\n                              \n                            <\/mml:mo>\n                            <mml:mn>1<\/mml:mn>\n                            <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                              <mml:mo stretchy=\"false\">|<\/mml:mo>\n                            <\/mml:mrow>\n                            <mml:mo stretchy=\"false\">\n                              \u2192\n                              \n                            <\/mml:mo>\n                            <mml:mn>2<\/mml:mn>\n                            <mml:mi>u<\/mml:mi>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">|\\widehat z\/z-1| \\to 2u<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    as\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"u right-arrow 0\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:mi>u<\/mml:mi>\n                            <mml:mo stretchy=\"false\">\n                              \u2192\n                              \n                            <\/mml:mo>\n                            <mml:mn>0<\/mml:mn>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">u\\to 0<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    . All our results hold for IEEE floating-point arithmetic, with radix\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"beta\">\n                        <mml:semantics>\n                          <mml:mi>\n                            \u03b2\n                            \n                          <\/mml:mi>\n                          <mml:annotation encoding=\"application\/x-tex\">\\beta<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    , precision\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"p\">\n                        <mml:semantics>\n                          <mml:mi>p<\/mml:mi>\n                          <mml:annotation encoding=\"application\/x-tex\">p<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    , and rounding to nearest; it is only assumed that underflows and overflows do not occur and that\n                    <inline-formula content-type=\"math\/mathml\">\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" alttext=\"beta Superscript p minus 1 Baseline greater-than-or-slanted-equals 24\">\n                        <mml:semantics>\n                          <mml:mrow>\n                            <mml:msup>\n                              <mml:mi>\n                                \u03b2\n                                \n                              <\/mml:mi>\n                              <mml:mrow class=\"MJX-TeXAtom-ORD\">\n                                <mml:mi>p<\/mml:mi>\n                                <mml:mo>\n                                  \u2212\n                                  \n                                <\/mml:mo>\n                                <mml:mn>1<\/mml:mn>\n                              <\/mml:mrow>\n                            <\/mml:msup>\n                            <mml:mo>\n                              \u2a7e\n                              \n                            <\/mml:mo>\n                            <mml:mn>24<\/mml:mn>\n                          <\/mml:mrow>\n                          <mml:annotation encoding=\"application\/x-tex\">\\beta ^{p-1} \\geqslant 24<\/mml:annotation>\n                        <\/mml:semantics>\n                      <\/mml:math>\n                    <\/inline-formula>\n                    .\n                  <\/p>","DOI":"10.1090\/mcom\/3123","type":"journal-article","created":{"date-parts":[[2016,3,23]],"date-time":"2016-03-23T14:52:48Z","timestamp":1458744768000},"page":"881-898","source":"Crossref","is-referenced-by-count":9,"title":["Error bounds on complex floating-point multiplication with an FMA"],"prefix":"10.1090","volume":"86","author":[{"given":"Claude-Pierre","family":"Jeannerod","sequence":"first","affiliation":[]},{"given":"Peter","family":"Kornerup","sequence":"additional","affiliation":[]},{"given":"Nicolas","family":"Louvet","sequence":"additional","affiliation":[]},{"given":"Jean-Michel","family":"Muller","sequence":"additional","affiliation":[]}],"member":"14","published-online":{"date-parts":[[2016,7,15]]},"reference":[{"key":"1","unstructured":"M. Baudin, Error bounds of complex arithmetic, June 2011, available at \\url{http:\/\/forge.scilab.org\/upload\/compdiv\/files\/complexerrorbounds_{v}0.2.pdf}."},{"key":"2","isbn-type":"print","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1007\/11814771_6","article-title":"Pitfalls of a full floating-point proof: example on the formal proof of the Veltkamp\/Dekker algorithms","author":"Boldo, Sylvie","year":"2006","ISBN":"https:\/\/id.crossref.org\/isbn\/9783540371878"},{"issue":"259","key":"3","doi-asserted-by":"publisher","first-page":"1469","DOI":"10.1090\/S0025-5718-07-01931-X","article-title":"Error bounds on complex floating-point multiplication","volume":"76","author":"Brent, Richard","year":"2007","journal-title":"Math. Comp.","ISSN":"https:\/\/id.crossref.org\/issn\/0025-5718","issn-type":"print"},{"key":"4","unstructured":"M. Cornea, J. Harrison, and P. T. P. Tang, Scientific Computing on Itanium\\textsuperscript{\u00ae}-based Systems, Intel Press, Hillsboro, OR, USA, 2002."},{"key":"5","doi-asserted-by":"publisher","first-page":"224","DOI":"10.1007\/BF01397083","article-title":"A floating-point technique for extending the available precision","volume":"18","author":"Dekker, T. J.","year":"1971","journal-title":"Numer. Math.","ISSN":"https:\/\/id.crossref.org\/issn\/0029-599X","issn-type":"print"},{"key":"6","isbn-type":"print","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718027","volume-title":"Accuracy and stability of numerical algorithms","author":"Higham, Nicholas J.","year":"2002","ISBN":"https:\/\/id.crossref.org\/isbn\/0898715210","edition":"2"},{"key":"7","unstructured":"IEEE Computer Society, IEEE Standard for Floating-Point Arithmetic, IEEE Standard 754-2008, August 2008, available at \\url{http:\/\/ieeexplore.ieee.org\/servlet\/opac?punumber=4610933}."},{"key":"8","doi-asserted-by":"crossref","unstructured":"C.-P. Jeannerod, A radix-independent error analysis of the Cornea-Harrison-Tang method, ACM Trans. Math. Software 42 (2016), no. 3, Art. 19, 20 pp.","DOI":"10.1145\/2824252"},{"issue":"284","key":"9","doi-asserted-by":"publisher","first-page":"2245","DOI":"10.1090\/S0025-5718-2013-02679-8","article-title":"Further analysis of Kahan\u2019s algorithm for the accurate computation of 2\u00d72 determinants","volume":"82","author":"Jeannerod, Claude-Pierre","year":"2013","journal-title":"Math. Comp.","ISSN":"https:\/\/id.crossref.org\/issn\/0025-5718","issn-type":"print"},{"key":"10","doi-asserted-by":"crossref","unstructured":"W. Kahan, Further remarks on reducing truncation errors, Communications of the ACM 8 (1965), no. 1, 40.","DOI":"10.1145\/363707.363723"},{"key":"11","doi-asserted-by":"publisher","first-page":"167","DOI":"10.1007\/bf01932946","article-title":"Analysis of some known methods of improving the accuracy of floating-point sums","volume":"14","author":"Linnainmaa, Seppo","year":"1974","journal-title":"Nordisk Tidskr. Informationsbehandling (BIT)","ISSN":"https:\/\/id.crossref.org\/issn\/0901-246X","issn-type":"print"},{"issue":"3","key":"12","doi-asserted-by":"publisher","first-page":"272","DOI":"10.1145\/355958.355960","article-title":"Software for doubled-precision floating-point computations","volume":"7","author":"Linnainmaa, Seppo","year":"1981","journal-title":"ACM Trans. Math. Software","ISSN":"https:\/\/id.crossref.org\/issn\/0098-3500","issn-type":"print"},{"key":"13","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/bf01937505","article-title":"Quasi double-precision in floating point addition","volume":"5","author":"M\u00f8ller, Ole","year":"1965","journal-title":"Nordisk Tidskr. Informationsbehandling (BIT)","ISSN":"https:\/\/id.crossref.org\/issn\/0901-246X","issn-type":"print"},{"key":"14","doi-asserted-by":"crossref","unstructured":"O. M\u00f8ller, Note on quasi double-precision, Nordisk Tidskr. Informationsbehandling (BIT) 5 (1965), 251\u2013255.","DOI":"10.1007\/BF01937505"},{"issue":"2","key":"15","doi-asserted-by":"publisher","first-page":"Art. 7, 8","DOI":"10.1145\/2629615","article-title":"On the error of computing \ud835\udc4e\ud835\udc4f+\ud835\udc50\ud835\udc51 using Cornea, Harrison and Tang\u2019s method","volume":"41","author":"Muller, Jean-Michel","year":"2015","journal-title":"ACM Trans. Math. Software","ISSN":"https:\/\/id.crossref.org\/issn\/0098-3500","issn-type":"print"},{"key":"16","isbn-type":"print","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-8176-4705-6","volume-title":"Handbook of floating-point arithmetic","author":"Muller, Jean-Michel","year":"2010","ISBN":"https:\/\/id.crossref.org\/isbn\/9780817647049"},{"key":"17","doi-asserted-by":"publisher","first-page":"400","DOI":"10.1007\/BF01404922","article-title":"Correction d\u2019une somme en arithm\u00e9tique \u00e0 virgule flottante","volume":"19","author":"Pichat, M.","year":"1972","journal-title":"Numer. Math.","ISSN":"https:\/\/id.crossref.org\/issn\/0029-599X","issn-type":"print"},{"key":"18","unstructured":"M. Pichat, Contributions \u00e0 l\u2019\u00e9tude des erreurs d\u2019arrondi en arithm\u00e9tique \u00e0 virgule flottante, Ph.D. thesis, Universit\u00e9 Scientifique et M\u00e9dicale de Grenoble, Grenoble, France, 1976."}],"container-title":["Mathematics of Computation"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/www.ams.org\/mcom\/2017-86-304\/S0025-5718-2016-03123-3\/S0025-5718-2016-03123-3.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"https:\/\/www.ams.org\/mcom\/2017-86-304\/S0025-5718-2016-03123-3\/S0025-5718-2016-03123-3.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,21]],"date-time":"2026-04-21T19:04:53Z","timestamp":1776798293000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.ams.org\/mcom\/2017-86-304\/S0025-5718-2016-03123-3\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,7,15]]},"references-count":18,"journal-issue":{"issue":"304","published-print":{"date-parts":[[2017,3]]}},"alternative-id":["S0025-5718-2016-03123-3"],"URL":"https:\/\/doi.org\/10.1090\/mcom\/3123","archive":["CLOCKSS","Portico"],"relation":{},"ISSN":["1088-6842","0025-5718"],"issn-type":[{"value":"1088-6842","type":"electronic"},{"value":"0025-5718","type":"print"}],"subject":[],"published":{"date-parts":[[2016,7,15]]}}}