\frac{x - \sin x}{x - \tan x}
\begin{array}{l}
\mathbf{if}\;x \leq -0.005143713995356559 \lor \neg \left(x \leq 0.004699430420038539\right):\\
\;\;\;\;\log \left(e^{\frac{x - \sin x}{x - \tan x}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.225, x \cdot x, -0.5\right)\\
\end{array}
(FPCore (x) :precision binary64 (/ (- x (sin x)) (- x (tan x))))
(FPCore (x) :precision binary64 (if (or (<= x -0.005143713995356559) (not (<= x 0.004699430420038539))) (log (exp (/ (- x (sin x)) (- x (tan x))))) (fma 0.225 (* x x) -0.5)))
double code(double x) {
return (x - sin(x)) / (x - tan(x));
}
double code(double x) {
double tmp;
if ((x <= -0.005143713995356559) || !(x <= 0.004699430420038539)) {
tmp = log(exp((x - sin(x)) / (x - tan(x))));
} else {
tmp = fma(0.225, (x * x), -0.5);
}
return tmp;
}



Bits error versus x
if x < -0.0051437139953565587 or 0.00469943042003853877 < x Initial program 0.1
Applied add-log-exp_binary640.1
if -0.0051437139953565587 < x < 0.00469943042003853877Initial program 63.3
Taylor expanded in x around 0 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2022068
(FPCore (x)
:name "sintan (problem 3.4.5)"
:precision binary64
(/ (- x (sin x)) (- x (tan x))))