Average Error: 31.6 → 0.0
Time: 57.9s
Precision: 64
\[\frac{x - \sin x}{x - \tan x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.029398453616094906:\\ \;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\ \mathbf{elif}\;x \le 0.027884417195576005:\\ \;\;\;\;\frac{-1}{2} - \left(x \cdot x\right) \cdot \left(\frac{27}{2800} \cdot \left(x \cdot x\right) - \frac{9}{40}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\ \end{array}\]
\frac{x - \sin x}{x - \tan x}
\begin{array}{l}
\mathbf{if}\;x \le -0.029398453616094906:\\
\;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\

\end{array}
double f(double x) {
        double r1957219 = x;
        double r1957220 = sin(r1957219);
        double r1957221 = r1957219 - r1957220;
        double r1957222 = tan(r1957219);
        double r1957223 = r1957219 - r1957222;
        double r1957224 = r1957221 / r1957223;
        return r1957224;
}

double f(double x) {
        double r1957225 = x;
        double r1957226 = -0.029398453616094906;
        bool r1957227 = r1957225 <= r1957226;
        double r1957228 = tan(r1957225);
        double r1957229 = r1957225 - r1957228;
        double r1957230 = r1957225 / r1957229;
        double r1957231 = sin(r1957225);
        double r1957232 = r1957231 / r1957229;
        double r1957233 = r1957230 - r1957232;
        double r1957234 = 0.027884417195576005;
        bool r1957235 = r1957225 <= r1957234;
        double r1957236 = -0.5;
        double r1957237 = r1957225 * r1957225;
        double r1957238 = 0.009642857142857142;
        double r1957239 = r1957238 * r1957237;
        double r1957240 = 0.225;
        double r1957241 = r1957239 - r1957240;
        double r1957242 = r1957237 * r1957241;
        double r1957243 = r1957236 - r1957242;
        double r1957244 = r1957235 ? r1957243 : r1957233;
        double r1957245 = r1957227 ? r1957233 : r1957244;
        return r1957245;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < -0.029398453616094906 or 0.027884417195576005 < x

    1. Initial program 0.1

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

      \[\leadsto \color{blue}{\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}}\]

    if -0.029398453616094906 < x < 0.027884417195576005

    1. Initial program 62.7

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -0.029398453616094906:\\ \;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\ \mathbf{elif}\;x \le 0.027884417195576005:\\ \;\;\;\;\frac{-1}{2} - \left(x \cdot x\right) \cdot \left(\frac{27}{2800} \cdot \left(x \cdot x\right) - \frac{9}{40}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\ \end{array}\]

Reproduce

herbie shell --seed 2019125 
(FPCore (x)
  :name "sintan (problem 3.4.5)"
  (/ (- x (sin x)) (- x (tan x))))