\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -0.030161987993530287:\\
\;\;\;\;\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}\\
\mathbf{elif}\;x \le 2.4087276690935244:\\
\;\;\;\;\frac{-27}{2800} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(x \cdot \left(x \cdot \frac{9}{40}\right) + \frac{-1}{2}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\sin x}{\cos x}}{x} \cdot \frac{\frac{\sin x}{\cos x}}{x} + \left(\left(1 + \frac{\frac{\sin x}{x}}{\cos x}\right) - \left(\frac{\frac{\sin x}{x}}{\cos x} \cdot \frac{\sin x}{x} + \frac{\sin x}{x}\right)\right)\\
\end{array}double f(double x) {
double r937352 = x;
double r937353 = sin(r937352);
double r937354 = r937352 - r937353;
double r937355 = tan(r937352);
double r937356 = r937352 - r937355;
double r937357 = r937354 / r937356;
return r937357;
}
double f(double x) {
double r937358 = x;
double r937359 = -0.030161987993530287;
bool r937360 = r937358 <= r937359;
double r937361 = tan(r937358);
double r937362 = r937358 - r937361;
double r937363 = r937358 / r937362;
double r937364 = sin(r937358);
double r937365 = r937364 / r937362;
double r937366 = r937363 - r937365;
double r937367 = 2.4087276690935244;
bool r937368 = r937358 <= r937367;
double r937369 = -0.009642857142857142;
double r937370 = r937358 * r937358;
double r937371 = r937370 * r937370;
double r937372 = r937369 * r937371;
double r937373 = 0.225;
double r937374 = r937358 * r937373;
double r937375 = r937358 * r937374;
double r937376 = -0.5;
double r937377 = r937375 + r937376;
double r937378 = r937372 + r937377;
double r937379 = cos(r937358);
double r937380 = r937364 / r937379;
double r937381 = r937380 / r937358;
double r937382 = r937381 * r937381;
double r937383 = 1.0;
double r937384 = r937364 / r937358;
double r937385 = r937384 / r937379;
double r937386 = r937383 + r937385;
double r937387 = r937385 * r937384;
double r937388 = r937387 + r937384;
double r937389 = r937386 - r937388;
double r937390 = r937382 + r937389;
double r937391 = r937368 ? r937378 : r937390;
double r937392 = r937360 ? r937366 : r937391;
return r937392;
}



Bits error versus x
Results
if x < -0.030161987993530287Initial program 0.0
rmApplied div-sub0.1
if -0.030161987993530287 < x < 2.4087276690935244Initial program 62.6
Taylor expanded around 0 0.2
Simplified0.2
if 2.4087276690935244 < x Initial program 0.0
rmApplied div-sub0.0
Taylor expanded around inf 0.4
Simplified0.4
Final simplification0.2
herbie shell --seed 2019168
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))