Average Error: 31.1 → 0.3
Time: 31.8s
Precision: 64
\[\frac{x - \sin x}{x - \tan x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -2.4752504163968116:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\ \mathbf{elif}\;x \le 2.4087276690935244:\\ \;\;\;\;\mathsf{fma}\left(x \cdot x, \frac{9}{40}, \frac{-1}{2}\right) + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{-27}{2800}\\ \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} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\ \end{array}\]
\frac{x - \sin x}{x - \tan x}
\begin{array}{l}
\mathbf{if}\;x \le -2.4752504163968116:\\
\;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\

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

\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} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\

\end{array}
double f(double x) {
        double r944363 = x;
        double r944364 = sin(r944363);
        double r944365 = r944363 - r944364;
        double r944366 = tan(r944363);
        double r944367 = r944363 - r944366;
        double r944368 = r944365 / r944367;
        return r944368;
}

double f(double x) {
        double r944369 = x;
        double r944370 = -2.4752504163968116;
        bool r944371 = r944369 <= r944370;
        double r944372 = sin(r944369);
        double r944373 = cos(r944369);
        double r944374 = r944373 * r944373;
        double r944375 = r944372 / r944374;
        double r944376 = r944369 * r944369;
        double r944377 = r944372 / r944376;
        double r944378 = r944372 / r944373;
        double r944379 = r944378 / r944369;
        double r944380 = r944372 / r944369;
        double r944381 = fma(r944377, r944378, r944380);
        double r944382 = r944379 - r944381;
        double r944383 = fma(r944375, r944377, r944382);
        double r944384 = 1.0;
        double r944385 = r944383 + r944384;
        double r944386 = 2.4087276690935244;
        bool r944387 = r944369 <= r944386;
        double r944388 = 0.225;
        double r944389 = -0.5;
        double r944390 = fma(r944376, r944388, r944389);
        double r944391 = r944376 * r944376;
        double r944392 = -0.009642857142857142;
        double r944393 = r944391 * r944392;
        double r944394 = r944390 + r944393;
        double r944395 = r944387 ? r944394 : r944385;
        double r944396 = r944371 ? r944385 : r944395;
        return r944396;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -2.4752504163968116 or 2.4087276690935244 < x

    1. Initial program 0.0

      \[\frac{x - \sin x}{x - \tan x}\]
    2. Using strategy rm
    3. Applied div-sub0.0

      \[\leadsto \color{blue}{\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}}\]
    4. 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)}\]
    5. 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} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1}\]

    if -2.4752504163968116 < x < 2.4087276690935244

    1. Initial program 62.4

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -2.4752504163968116:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{x \cdot x}, \frac{\frac{\sin x}{\cos x}}{x} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\ \mathbf{elif}\;x \le 2.4087276690935244:\\ \;\;\;\;\mathsf{fma}\left(x \cdot x, \frac{9}{40}, \frac{-1}{2}\right) + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{-27}{2800}\\ \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} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\ \end{array}\]

Reproduce

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