pith. sign in

arxiv: 1906.12199 · v1 · pith:Y7R2EF7Fnew · submitted 2019-06-27 · 💻 cs.MS

Remark on Algorithm 680: evaluation of the complex error function: Cause and Remedy for the Loss of Accuracy Near the Real Axis

Pith reviewed 2026-05-25 14:11 UTC · model grok-4.3

classification 💻 cs.MS
keywords Faddeyeva functioncomplex error functionAlgorithm 680numerical accuracyreal axisaccuracy losserror function computation
0
0 comments X

The pith

A specific numerical step causes accuracy loss for the Faddeyeva function near the real axis in Algorithm 680, and a simple correction restores it.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The paper identifies the source of reduced precision when evaluating the Faddeyeva function close to the real axis using an established algorithm. It traces the problem to a particular computational step and demonstrates how adjusting that step eliminates the error. This matters because accurate computation of this function is essential in various scientific applications involving complex variables. Restoring the algorithm's reliability makes it suitable again for benchmarking other methods.

Core claim

The loss of accuracy in Algorithm 680 for w(z) near the real axis stems from an identified numerical step in the code; a simple correction to that step restores full accuracy and allows the routine to serve again as a reference implementation for accuracy comparisons.

What carries the argument

The simple correction applied to the numerical step responsible for accuracy loss in Faddeyeva function evaluation near the real axis.

If this is right

  • The corrected version of Algorithm 680 regains its status as a reliable reference routine for accuracy comparisons.
  • Computations of the Faddeyeva function near the real axis achieve higher precision without altering the algorithm's overall structure.
  • The fix enables consistent use of this code in applications requiring complex error function values.
  • Other numerical libraries implementing similar approaches can adopt the same adjustment for improved results.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • Similar accuracy issues in related special-function algorithms may share the same root cause and admit analogous fixes.
  • The correction could be tested for stability when the input argument has small imaginary parts in either direction.
  • Legacy implementations of Algorithm 680 in existing software can be patched to extend their useful life.

Load-bearing premise

The assumption that the identified numerical step is the sole root cause of the observed accuracy loss and that the proposed correction fully restores accuracy without side effects in other regions.

What would settle it

Comparison of results from the corrected algorithm against high-precision reference values on points near the real axis to check if accuracy is restored to the expected level.

Figures

Figures reproduced from arXiv: 1906.12199 by Mofreh Zaghloul.

Figure 1
Figure 1. Figure 1: Regions and contours used in Algorithm 680 [PITH_FULL_IMAGE:figures/full_fig_p002_1.png] view at source ↗
read the original abstract

In this remark we identify the cause of the loss of accuracy in the computation of the Faddeyeva function, w(z), near the real axis when using Algorithm 680. We provide a simple correction to this problem which allows us to restore this code as one of the important reference routines for accuracy comparisons.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

0 major / 1 minor

Summary. The paper identifies the cause of accuracy loss in Algorithm 680 for the Faddeyeva function w(z) near the real axis as a specific cancellation in the original source code, derives an algebraically equivalent corrected expression, and demonstrates numerically that the modification recovers full machine precision on the real axis while leaving results unchanged in other regions.

Significance. If the identification and correction hold, the work restores Algorithm 680 as a reliable reference implementation for accuracy comparisons in complex error function computations, which supports validation of numerical libraries in scientific computing.

minor comments (1)
  1. The manuscript would benefit from an explicit statement of the machine precision used in the numerical tests and the test-point grid density near the real axis.

Simulated Author's Rebuttal

0 responses · 0 unresolved

We thank the referee for the positive assessment of the manuscript and for the recommendation to accept.

Circularity Check

0 steps flagged

No significant circularity identified

full rationale

The paper is a short remark diagnosing a specific floating-point cancellation in one line of the published Algorithm 680 source code for the Faddeyeva function and supplying an algebraically equivalent but numerically stable replacement expression. No derivations, predictions, fitted parameters, or uniqueness theorems are present; the argument consists of (a) quoting the offending statement, (b) rewriting it to avoid subtractive cancellation, and (c) empirical verification on the real axis. These steps are independent of any self-citation or self-definition and do not reduce the claimed correction to the input data by construction.

Axiom & Free-Parameter Ledger

0 free parameters · 1 axioms · 0 invented entities

The paper rests on standard numerical analysis assumptions about floating-point behavior and the analytic properties of the Faddeyeva function; no free parameters or invented entities are introduced in the abstract.

axioms (1)
  • standard math Standard floating-point arithmetic properties and the definition of the Faddeyeva function w(z)
    Invoked implicitly when diagnosing loss of accuracy near the real axis.

pith-pipeline@v0.9.0 · 5573 in / 1079 out tokens · 24008 ms · 2026-05-25T14:11:22.786455+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

7 extracted references · 7 canonical work pages · 1 internal anchor

  1. [1]

    AND STEGUN, I

    ABRAMOWITZ M. AND STEGUN, I. A. 1964. Handbook of Mathematical Functions , New York: National Bureau of Standards, AMS55

  2. [2]

    ARMSTRONG, B.H. 1967. Spectrum Line Profiles: The Voigt Function. J. Quant. Spectrosc. & Radiat. Transfer, Vol. 7, 61-88. CODY W. J. 1993. Algorithm 715: SPECFUN A portable Fortran Package of Special Function Routines and Test Drivers. ACM Trans. Math. Softw., Vol. 19, No. 1, 22-32

  3. [3]

    GAUTSCHI, W. 1969. Algorithm 363-Complex error function,” Commun. ACM 12, 635

  4. [4]

    GAUTSCHI, W. 1970. Efficient Computation of the Complex Error Function. SIAM J. Numer. Anal., Vol. 7, 187-198

  5. [5]

    POPPE, G.P.M. AND C. WIJERS, M. J. 1990b. Algorithm 680, Evaluation of the Complex Error Function. ACM Trans. Math. Softw., Vol. 16, No. 1, 47. SHIPPONY Z. AND READ W.G. 1993. A highly accurate Voigt function algorithm. J. Quant. Spectrosc. & Radiat. Transfer, Vol. 50, 635-646

  6. [6]

    ZAGHLOUL, M. R. AND ALI, A. N. 2011. Algorithm 916: Computing the Faddeyeva and Voigt Functions. ACM Trans. Math. Softw., Vol. 38, No. 2, article 15:1-22

  7. [7]

    ZAGHLOUL, M. R. 2018. A Fortran Package for Efficient Multi-Accuracy Computations of the Faddeyeva Function and Related Functions of Complex Arguments. https://arxiv.org/abs/1806.01656