Dear GSL Development Team,

I hope this email finds you well. My name is Youshuai Tan, and I am part of
a software engineering research team. We would like to discuss two topics
that might interest your team:

*1. Fixable Long-standing Bugs via Double Precision Patches*
We identified one bug report (https://savannah.gnu.org/bugs/?43259) that
has remained open for over a decade. Through our analysis, we found five of
these errors could be mitigated by applying double precision patches. For
example, gsl_sf_hyperg_0F1(c, x) results in a relative error of 1.15e198
when the two operands are 3.39e-215 and 3.95e-242. When c and x approach
zero, the first two terms in the Taylor expansion of the function are
1+x/a. We use this as a patch, and the resulting relative error is only
1.17e-27.  We would like to know whether this patch is of practical value
to your team.  Given that this bug report has remained open, we are
somewhat puzzled. Do you consider this type of error to be insignificant?
Or is it because addressing this error would require the use of
high-precision arithmetic, which in turn demands substantial computational
resources, leading to the decision not to fix it?

*2. Research on Error-Inducing Inputs*
In software engineering/programming languages research, some researchers
focus on finding the error-inducing inputs, since only a small part of
inputs can result in significant errors. GSL functions serve as an
important benchmark in this field - tools like ATOMU [1] and FPCC [2] have
identified error-inducing cases in 42 GSL’s spec functions. We are
particularly interested in knowing whether this kind of work is helpful to
your development efforts, and whether such errors have a significant impact
in practice. If this topic is of significant interest or value to you, we
would be very keen to continue the discussion. We have recently developed a
highly efficient method for detecting error-inducing inputs and would be
excited to collaborate with you in exploring.

We’re very much looking forward to your reply!

Best regards,
Youshuai Tan

[1] Daming Zou, Muhan Zeng, Yingfei Xiong, Zhoulai Fu, Lu Zhang, and
Zhendong Su. 2019. Detecting floating-point errors via atomic conditions.
Proceedings of the ACM on Programming Languages 4, POPL (2019), 1–27.
[2] Xin Yi, Hengbiao Yu, Liqian Chen, Xiaoguang Mao, and Ji Wang. 2024.
FPCC: Detecting Floating-Point Errors via Chain Conditions. Proceedings of
the ACM on Programming Languages 8, OOPSLA2 (2024), 1504–1531.

Reply via email to