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
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.
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
- 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
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.
Referee Report
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)
- 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
We thank the referee for the positive assessment of the manuscript and for the recommendation to accept.
Circularity Check
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
axioms (1)
- standard math Standard floating-point arithmetic properties and the definition of the Faddeyeva function w(z)
Reference graph
Works this paper leans on
-
[1]
ABRAMOWITZ M. AND STEGUN, I. A. 1964. Handbook of Mathematical Functions , New York: National Bureau of Standards, AMS55
work page 1964
-
[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
work page 1967
-
[3]
GAUTSCHI, W. 1969. Algorithm 363-Complex error function,” Commun. ACM 12, 635
work page 1969
-
[4]
GAUTSCHI, W. 1970. Efficient Computation of the Complex Error Function. SIAM J. Numer. Anal., Vol. 7, 187-198
work page 1970
-
[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
work page 1993
-
[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
work page 2011
-
[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
work page internal anchor Pith review Pith/arXiv arXiv 2018
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.