\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -2.5060118563807836:\\
\;\;\;\;\left(\frac{\sin x}{\cos x \cdot x} \cdot \frac{\sin x}{\cos x \cdot x} + \frac{\sin x}{\cos x \cdot x}\right) + \left(\left(1 - \frac{\sin x}{x}\right) - \frac{\frac{\sin x}{x} \cdot \frac{\sin x}{x}}{\cos x}\right)\\
\mathbf{elif}\;x \le 1.553788978235722:\\
\;\;\;\;\left(\left(x \cdot x\right) \cdot \frac{9}{40} - \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{27}{2800}\right) - \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sin x}{\cos x \cdot x} \cdot \frac{\sin x}{\cos x \cdot x} + \frac{\sin x}{\cos x \cdot x}\right) + \left(\left(1 - \frac{\sin x}{x}\right) - \frac{\frac{\sin x}{x} \cdot \frac{\sin x}{x}}{\cos x}\right)\\
\end{array}double f(double x) {
double r554010 = x;
double r554011 = sin(r554010);
double r554012 = r554010 - r554011;
double r554013 = tan(r554010);
double r554014 = r554010 - r554013;
double r554015 = r554012 / r554014;
return r554015;
}
double f(double x) {
double r554016 = x;
double r554017 = -2.5060118563807836;
bool r554018 = r554016 <= r554017;
double r554019 = sin(r554016);
double r554020 = cos(r554016);
double r554021 = r554020 * r554016;
double r554022 = r554019 / r554021;
double r554023 = r554022 * r554022;
double r554024 = r554023 + r554022;
double r554025 = 1.0;
double r554026 = r554019 / r554016;
double r554027 = r554025 - r554026;
double r554028 = r554026 * r554026;
double r554029 = r554028 / r554020;
double r554030 = r554027 - r554029;
double r554031 = r554024 + r554030;
double r554032 = 1.553788978235722;
bool r554033 = r554016 <= r554032;
double r554034 = r554016 * r554016;
double r554035 = 0.225;
double r554036 = r554034 * r554035;
double r554037 = r554034 * r554034;
double r554038 = 0.009642857142857142;
double r554039 = r554037 * r554038;
double r554040 = r554036 - r554039;
double r554041 = 0.5;
double r554042 = r554040 - r554041;
double r554043 = r554033 ? r554042 : r554031;
double r554044 = r554018 ? r554031 : r554043;
return r554044;
}



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