\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -2.446923987498581:\\
\;\;\;\;\left(\frac{\frac{\sin x}{\cos x}}{x} \cdot \frac{\frac{\sin x}{\cos x}}{x} + \left(\left(1 - \frac{\sin x}{x}\right) + \frac{\frac{\sin x}{x}}{\cos x}\right)\right) - \frac{\sin x}{x \cdot x} \cdot \frac{\sin x}{\cos x}\\
\mathbf{elif}\;x \le 2.4570066373596267:\\
\;\;\;\;\left(x \cdot x\right) \cdot \left(\frac{9}{40} - \left(x \cdot x\right) \cdot \frac{27}{2800}\right) - \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{\sin x}{\cos x}}{x} \cdot \frac{\frac{\sin x}{\cos x}}{x} + \left(\left(1 - \frac{\sin x}{x}\right) + \frac{\frac{\sin x}{x}}{\cos x}\right)\right) - \frac{\sin x}{x \cdot x} \cdot \frac{\sin x}{\cos x}\\
\end{array}double f(double x) {
double r593708 = x;
double r593709 = sin(r593708);
double r593710 = r593708 - r593709;
double r593711 = tan(r593708);
double r593712 = r593708 - r593711;
double r593713 = r593710 / r593712;
return r593713;
}
double f(double x) {
double r593714 = x;
double r593715 = -2.446923987498581;
bool r593716 = r593714 <= r593715;
double r593717 = sin(r593714);
double r593718 = cos(r593714);
double r593719 = r593717 / r593718;
double r593720 = r593719 / r593714;
double r593721 = r593720 * r593720;
double r593722 = 1.0;
double r593723 = r593717 / r593714;
double r593724 = r593722 - r593723;
double r593725 = r593723 / r593718;
double r593726 = r593724 + r593725;
double r593727 = r593721 + r593726;
double r593728 = r593714 * r593714;
double r593729 = r593717 / r593728;
double r593730 = r593729 * r593719;
double r593731 = r593727 - r593730;
double r593732 = 2.4570066373596267;
bool r593733 = r593714 <= r593732;
double r593734 = 0.225;
double r593735 = 0.009642857142857142;
double r593736 = r593728 * r593735;
double r593737 = r593734 - r593736;
double r593738 = r593728 * r593737;
double r593739 = 0.5;
double r593740 = r593738 - r593739;
double r593741 = r593733 ? r593740 : r593731;
double r593742 = r593716 ? r593731 : r593741;
return r593742;
}



Bits error versus x
Results
if x < -2.446923987498581 or 2.4570066373596267 < x Initial program 0.0
Taylor expanded around inf 0.4
Simplified0.4
if -2.446923987498581 < x < 2.4570066373596267Initial program 62.4
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.3
herbie shell --seed 2019144
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))