\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -2.47606870075120832908055490406695753336:\\
\;\;\;\;\left(\log \left(e^{\frac{\frac{\sin x}{x}}{\cos x} - \frac{\sin x}{x}}\right) + \left(\frac{\frac{\sin x}{\cos x}}{x} \cdot \frac{\frac{\sin x}{\cos x}}{x} + 1\right)\right) - \frac{\sin x}{\cos x} \cdot \frac{\sin x}{x \cdot x}\\
\mathbf{elif}\;x \le 4.737990132830219636161928065121173858643:\\
\;\;\;\;\left(\left(x \cdot \frac{9}{40}\right) \cdot x - \frac{27}{2800} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) - \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\log \left(e^{\frac{\frac{\sin x}{x}}{\cos x} - \frac{\sin x}{x}}\right) + \left(\frac{\frac{\sin x}{\cos x}}{x} \cdot \frac{\frac{\sin x}{\cos x}}{x} + 1\right)\right) - \frac{\sin x}{\cos x} \cdot \frac{\sin x}{x \cdot x}\\
\end{array}double f(double x) {
double r714143 = x;
double r714144 = sin(r714143);
double r714145 = r714143 - r714144;
double r714146 = tan(r714143);
double r714147 = r714143 - r714146;
double r714148 = r714145 / r714147;
return r714148;
}
double f(double x) {
double r714149 = x;
double r714150 = -2.4760687007512083;
bool r714151 = r714149 <= r714150;
double r714152 = sin(r714149);
double r714153 = r714152 / r714149;
double r714154 = cos(r714149);
double r714155 = r714153 / r714154;
double r714156 = r714155 - r714153;
double r714157 = exp(r714156);
double r714158 = log(r714157);
double r714159 = r714152 / r714154;
double r714160 = r714159 / r714149;
double r714161 = r714160 * r714160;
double r714162 = 1.0;
double r714163 = r714161 + r714162;
double r714164 = r714158 + r714163;
double r714165 = r714149 * r714149;
double r714166 = r714152 / r714165;
double r714167 = r714159 * r714166;
double r714168 = r714164 - r714167;
double r714169 = 4.73799013283022;
bool r714170 = r714149 <= r714169;
double r714171 = 0.225;
double r714172 = r714149 * r714171;
double r714173 = r714172 * r714149;
double r714174 = 0.009642857142857142;
double r714175 = r714165 * r714165;
double r714176 = r714174 * r714175;
double r714177 = r714173 - r714176;
double r714178 = 0.5;
double r714179 = r714177 - r714178;
double r714180 = r714170 ? r714179 : r714168;
double r714181 = r714151 ? r714168 : r714180;
return r714181;
}



Bits error versus x
Results
if x < -2.4760687007512083 or 4.73799013283022 < x Initial program 0.0
Taylor expanded around inf 0.4
Simplified0.4
rmApplied add-log-exp0.4
Applied add-log-exp0.4
Applied diff-log0.4
Simplified0.4
if -2.4760687007512083 < x < 4.73799013283022Initial program 62.9
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.3
herbie shell --seed 2019170
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))