\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -0.02600941637726964:\\
\;\;\;\;\log \left(e^{\frac{x}{x - \tan x} - \frac{\sin x}{x - \tan x}}\right)\\
\mathbf{elif}\;x \le 0.026693962352464101:\\
\;\;\;\;\frac{9}{40} \cdot {x}^{2} - \left(\frac{27}{2800} \cdot {x}^{4} + \frac{1}{2}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x - \sin x}{x - \tan x}\\
\end{array}double f(double x) {
double r13813 = x;
double r13814 = sin(r13813);
double r13815 = r13813 - r13814;
double r13816 = tan(r13813);
double r13817 = r13813 - r13816;
double r13818 = r13815 / r13817;
return r13818;
}
double f(double x) {
double r13819 = x;
double r13820 = -0.02600941637726964;
bool r13821 = r13819 <= r13820;
double r13822 = tan(r13819);
double r13823 = r13819 - r13822;
double r13824 = r13819 / r13823;
double r13825 = sin(r13819);
double r13826 = r13825 / r13823;
double r13827 = r13824 - r13826;
double r13828 = exp(r13827);
double r13829 = log(r13828);
double r13830 = 0.0266939623524641;
bool r13831 = r13819 <= r13830;
double r13832 = 0.225;
double r13833 = 2.0;
double r13834 = pow(r13819, r13833);
double r13835 = r13832 * r13834;
double r13836 = 0.009642857142857142;
double r13837 = 4.0;
double r13838 = pow(r13819, r13837);
double r13839 = r13836 * r13838;
double r13840 = 0.5;
double r13841 = r13839 + r13840;
double r13842 = r13835 - r13841;
double r13843 = r13819 - r13825;
double r13844 = r13843 / r13823;
double r13845 = r13831 ? r13842 : r13844;
double r13846 = r13821 ? r13829 : r13845;
return r13846;
}



Bits error versus x
Results
if x < -0.02600941637726964Initial program 0.1
rmApplied div-sub0.1
rmApplied add-log-exp0.2
Applied add-log-exp0.2
Applied diff-log0.2
Simplified0.1
if -0.02600941637726964 < x < 0.0266939623524641Initial program 63.2
Taylor expanded around 0 0.0
if 0.0266939623524641 < x Initial program 0.1
rmApplied div-sub0.1
rmApplied sub-div0.1
Final simplification0.0
herbie shell --seed 2020056
(FPCore (x)
:name "sintan (problem 3.4.5)"
:precision binary64
(/ (- x (sin x)) (- x (tan x))))