\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -2.483298028151702:\\
\;\;\;\;\left(\left(\frac{\frac{\sin x}{x}}{\cos x} - \frac{\sin x}{x}\right) - \frac{\frac{\sin x}{x} \cdot \frac{\sin x}{x}}{\cos x}\right) + \left(1 + \frac{\frac{\sin x}{x}}{\cos x} \cdot \frac{\frac{\sin x}{x}}{\cos x}\right)\\
\mathbf{elif}\;x \le 2.4050174326567912:\\
\;\;\;\;\left(x \cdot \left(x \cdot \frac{9}{40}\right) - {x}^{4} \cdot \frac{27}{2800}\right) - \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\frac{\frac{\sin x}{x}}{\cos x} - \frac{\sin x}{x}\right) - \frac{\frac{\sin x}{x} \cdot \frac{\sin x}{x}}{\cos x}\right) + \left(1 + \frac{\frac{\sin x}{x}}{\cos x} \cdot \frac{\frac{\sin x}{x}}{\cos x}\right)\\
\end{array}double f(double x) {
double r727041 = x;
double r727042 = sin(r727041);
double r727043 = r727041 - r727042;
double r727044 = tan(r727041);
double r727045 = r727041 - r727044;
double r727046 = r727043 / r727045;
return r727046;
}
double f(double x) {
double r727047 = x;
double r727048 = -2.483298028151702;
bool r727049 = r727047 <= r727048;
double r727050 = sin(r727047);
double r727051 = r727050 / r727047;
double r727052 = cos(r727047);
double r727053 = r727051 / r727052;
double r727054 = r727053 - r727051;
double r727055 = r727051 * r727051;
double r727056 = r727055 / r727052;
double r727057 = r727054 - r727056;
double r727058 = 1.0;
double r727059 = r727053 * r727053;
double r727060 = r727058 + r727059;
double r727061 = r727057 + r727060;
double r727062 = 2.4050174326567912;
bool r727063 = r727047 <= r727062;
double r727064 = 0.225;
double r727065 = r727047 * r727064;
double r727066 = r727047 * r727065;
double r727067 = 4.0;
double r727068 = pow(r727047, r727067);
double r727069 = 0.009642857142857142;
double r727070 = r727068 * r727069;
double r727071 = r727066 - r727070;
double r727072 = 0.5;
double r727073 = r727071 - r727072;
double r727074 = r727063 ? r727073 : r727061;
double r727075 = r727049 ? r727061 : r727074;
return r727075;
}



Bits error versus x
Results
if x < -2.483298028151702 or 2.4050174326567912 < x Initial program 0.0
Taylor expanded around -inf 0.4
Simplified0.4
if -2.483298028151702 < x < 2.4050174326567912Initial program 62.5
Taylor expanded around 0 0.3
Simplified0.3
rmApplied fma-udef0.3
Applied associate--r+0.3
Final simplification0.3
herbie shell --seed 2019134 +o rules:numerics
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))