\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -0.0292003739707403752:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{x}{x - \tan x}, \frac{x}{x - \tan x}, \frac{-{\left(\sin x\right)}^{2}}{\left(x - \tan x\right) \cdot \left(x - \tan x\right)}\right)}{\frac{x}{x - \tan x} + \frac{\sin x}{x - \tan x}}\\
\mathbf{elif}\;x \le 0.024272639190728022:\\
\;\;\;\;\mathsf{expm1}\left(\mathsf{log1p}\left(\mathsf{fma}\left(\frac{9}{40}, {x}^{2}, -\mathsf{fma}\left(\frac{27}{2800}, {x}^{4}, \frac{1}{2}\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(x, \frac{x}{x - \tan x}, \frac{-{\left(\sin x\right)}^{2}}{x - \tan x}\right)}{x - \tan x}}{\frac{x}{x - \tan x} + \frac{\sin x}{x - \tan x}}\\
\end{array}double code(double x) {
return ((x - sin(x)) / (x - tan(x)));
}
double code(double x) {
double temp;
if ((x <= -0.029200373970740375)) {
temp = (fma((x / (x - tan(x))), (x / (x - tan(x))), (-pow(sin(x), 2.0) / ((x - tan(x)) * (x - tan(x))))) / ((x / (x - tan(x))) + (sin(x) / (x - tan(x)))));
} else {
double temp_1;
if ((x <= 0.024272639190728022)) {
temp_1 = expm1(log1p(fma(0.225, pow(x, 2.0), -fma(0.009642857142857142, pow(x, 4.0), 0.5))));
} else {
temp_1 = ((fma(x, (x / (x - tan(x))), (-pow(sin(x), 2.0) / (x - tan(x)))) / (x - tan(x))) / ((x / (x - tan(x))) + (sin(x) / (x - tan(x)))));
}
temp = temp_1;
}
return temp;
}



Bits error versus x
Results
if x < -0.029200373970740375Initial program 0.1
rmApplied div-sub0.1
rmApplied flip--0.1
rmApplied fma-neg0.1
Simplified0.1
if -0.029200373970740375 < x < 0.024272639190728022Initial program 63.2
rmApplied expm1-log1p-u63.2
Taylor expanded around 0 0.0
Simplified0.0
if 0.024272639190728022 < x Initial program 0.0
rmApplied div-sub0.0
rmApplied flip--0.0
rmApplied associate-*r/0.0
Applied associate-*r/0.1
Applied sub-div0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020058 +o rules:numerics
(FPCore (x)
:name "sintan (problem 3.4.5)"
:precision binary64
(/ (- x (sin x)) (- x (tan x))))