# Re: [Boost-bugs] [Boost C++ Libraries] #13606: sinc_pi incorrect taylor_0_bound

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #13606: sinc_pi incorrect taylor_0_bound
Date: 2018-06-18 08:47:52

#13606: sinc_pi incorrect taylor_0_bound
-------------------------------+------------------------------------
Reporter: minorlogic@â€¦ | Owner: John Maddock
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: math
Version: Boost 1.63.0 | Severity: Optimization
Resolution: | Keywords: sinc_pi taylor_0_bound
-------------------------------+------------------------------------
Changes (by anonymous):

* status: closed => reopened
* resolution: fixed =>

Comment:

Bounds is still incorrect.
Should look like

- Range0 for abs(x) in ( 0 , pow(eps, 1/2) )
result == 1.0, cause next Taylor x2/6 LESS than "epsilon" and 1.0-x2/6 ==
1.0

For example (for double) if abs(x) == 1.0e-10. The x2 == 1.0e-20 and
1.0e-20/6 is less than double::epsilon, so 1.0 + 1.0e-20/6 == 1.0.

- Range1 for abs(x) in ( pow(eps, 1/2) , pow(eps, 1/4) )
result == 1.0-x2/6, cause next Taylor x2*x2/120 LESS than "epsilon" even
in Horner method. Important signs of x2*x2 is out of epsilon range.

- Range2 for abs(x) in ( pow(eps, 1/4) , pow(eps, 1/6) )
result == 1.0 + x2 * (-1.0 + x2 / 20.0) / 6.0;, cause x^6/7! LESS than
"epsilon" even in Horner method.

NOTE: We can use approximate bounds from above ignoring Taylor series
coefficients. Calculation of exact bounds is not trivial, and should use
exact analytical precision bounds of all operations.

```--
Ticket URL: <https://svn.boost.org/trac10/ticket/13606#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.
```

This archive was generated by hypermail 2.1.7 : 2018-06-18 08:54:50 UTC