Average Error: 31.2 → 0.3
Time: 22.3s
Precision: 64
\[\frac{x - \sin x}{x - \tan x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.773716110019835:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)\\ \mathbf{elif}\;x \le 2.412135160853593:\\ \;\;\;\;\mathsf{fma}\left(\frac{9}{40}, x \cdot x, -\mathsf{fma}\left(\frac{27}{2800}, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \frac{1}{2}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)\\ \end{array}\]
\frac{x - \sin x}{x - \tan x}
\begin{array}{l}
\mathbf{if}\;x \le -4.773716110019835:\\
\;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)\\

\mathbf{elif}\;x \le 2.412135160853593:\\
\;\;\;\;\mathsf{fma}\left(\frac{9}{40}, x \cdot x, -\mathsf{fma}\left(\frac{27}{2800}, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \frac{1}{2}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)\\

\end{array}
double f(double x) {
        double r232926 = x;
        double r232927 = sin(r232926);
        double r232928 = r232926 - r232927;
        double r232929 = tan(r232926);
        double r232930 = r232926 - r232929;
        double r232931 = r232928 / r232930;
        return r232931;
}

double f(double x) {
        double r232932 = x;
        double r232933 = -4.773716110019835;
        bool r232934 = r232932 <= r232933;
        double r232935 = sin(r232932);
        double r232936 = cos(r232932);
        double r232937 = r232936 * r232936;
        double r232938 = r232935 / r232937;
        double r232939 = r232932 * r232932;
        double r232940 = r232935 / r232939;
        double r232941 = r232935 / r232936;
        double r232942 = r232941 / r232932;
        double r232943 = fma(r232938, r232940, r232942);
        double r232944 = 1.0;
        double r232945 = r232935 / r232932;
        double r232946 = fma(r232941, r232940, r232945);
        double r232947 = r232944 - r232946;
        double r232948 = r232943 + r232947;
        double r232949 = 2.412135160853593;
        bool r232950 = r232932 <= r232949;
        double r232951 = 0.225;
        double r232952 = 0.009642857142857142;
        double r232953 = r232939 * r232939;
        double r232954 = 0.5;
        double r232955 = fma(r232952, r232953, r232954);
        double r232956 = -r232955;
        double r232957 = fma(r232951, r232939, r232956);
        double r232958 = r232950 ? r232957 : r232948;
        double r232959 = r232934 ? r232948 : r232958;
        return r232959;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -4.773716110019835 or 2.412135160853593 < x

    1. Initial program 0.0

      \[\frac{x - \sin x}{x - \tan x}\]
    2. Taylor expanded around inf 0.4

      \[\leadsto \color{blue}{\left(1 + \left(\frac{{\left(\sin x\right)}^{2}}{{\left(\cos x\right)}^{2} \cdot {x}^{2}} + \frac{\sin x}{\cos x \cdot x}\right)\right) - \left(\frac{\sin x}{x} + \frac{{\left(\sin x\right)}^{2}}{\cos x \cdot {x}^{2}}\right)}\]
    3. Simplified0.4

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)}\]

    if -4.773716110019835 < x < 2.412135160853593

    1. Initial program 62.5

      \[\frac{x - \sin x}{x - \tan x}\]
    2. Taylor expanded around 0 0.2

      \[\leadsto \color{blue}{\frac{9}{40} \cdot {x}^{2} - \left(\frac{27}{2800} \cdot {x}^{4} + \frac{1}{2}\right)}\]
    3. Simplified0.2

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{9}{40}, x \cdot x, -\mathsf{fma}\left(\frac{27}{2800}, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \frac{1}{2}\right)\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.773716110019835:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)\\ \mathbf{elif}\;x \le 2.412135160853593:\\ \;\;\;\;\mathsf{fma}\left(\frac{9}{40}, x \cdot x, -\mathsf{fma}\left(\frac{27}{2800}, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \frac{1}{2}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x}\right) + \left(1 - \mathsf{fma}\left(\frac{\sin x}{\cos x}, \frac{\sin x}{x \cdot x}, \frac{\sin x}{x}\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019156 +o rules:numerics
(FPCore (x)
  :name "sintan (problem 3.4.5)"
  (/ (- x (sin x)) (- x (tan x))))