\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -2.412246929618039992249123315559700131416:\\
\;\;\;\;\left(\left(\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}{x \cdot x} \cdot \frac{\sin x}{\cos x}\\
\mathbf{elif}\;x \le 2.424314253224005177855815418297424912453:\\
\;\;\;\;\left(\left(x \cdot \frac{9}{40}\right) \cdot x - \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \frac{27}{2800}\right) - \frac{1}{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\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}{x \cdot x} \cdot \frac{\sin x}{\cos x}\\
\end{array}double f(double x) {
double r562116 = x;
double r562117 = sin(r562116);
double r562118 = r562116 - r562117;
double r562119 = tan(r562116);
double r562120 = r562116 - r562119;
double r562121 = r562118 / r562120;
return r562121;
}
double f(double x) {
double r562122 = x;
double r562123 = -2.41224692961804;
bool r562124 = r562122 <= r562123;
double r562125 = sin(r562122);
double r562126 = r562125 / r562122;
double r562127 = cos(r562122);
double r562128 = r562126 / r562127;
double r562129 = r562128 - r562126;
double r562130 = r562125 / r562127;
double r562131 = r562130 / r562122;
double r562132 = r562131 * r562131;
double r562133 = 1.0;
double r562134 = r562132 + r562133;
double r562135 = r562129 + r562134;
double r562136 = r562122 * r562122;
double r562137 = r562125 / r562136;
double r562138 = r562137 * r562130;
double r562139 = r562135 - r562138;
double r562140 = 2.424314253224005;
bool r562141 = r562122 <= r562140;
double r562142 = 0.225;
double r562143 = r562122 * r562142;
double r562144 = r562143 * r562122;
double r562145 = r562136 * r562136;
double r562146 = 0.009642857142857142;
double r562147 = r562145 * r562146;
double r562148 = r562144 - r562147;
double r562149 = 0.5;
double r562150 = r562148 - r562149;
double r562151 = r562141 ? r562150 : r562139;
double r562152 = r562124 ? r562139 : r562151;
return r562152;
}



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