\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -2.447149999215354032600089340121485292912:\\
\;\;\;\;\mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{\cos x \cdot x} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\
\mathbf{elif}\;x \le 2.424239464461980908538407675223425030708:\\
\;\;\;\;\mathsf{fma}\left(x \cdot x, \frac{9}{40} - \left(x \cdot x\right) \cdot \frac{27}{2800}, \frac{-1}{2}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x \cdot \cos x}, \frac{\sin x}{\cos x \cdot x} - \mathsf{fma}\left(\frac{\sin x}{x \cdot x}, \frac{\sin x}{\cos x}, \frac{\sin x}{x}\right)\right) + 1\\
\end{array}double f(double x) {
double r1902626 = x;
double r1902627 = sin(r1902626);
double r1902628 = r1902626 - r1902627;
double r1902629 = tan(r1902626);
double r1902630 = r1902626 - r1902629;
double r1902631 = r1902628 / r1902630;
return r1902631;
}
double f(double x) {
double r1902632 = x;
double r1902633 = -2.447149999215354;
bool r1902634 = r1902632 <= r1902633;
double r1902635 = sin(r1902632);
double r1902636 = r1902632 * r1902632;
double r1902637 = r1902635 / r1902636;
double r1902638 = cos(r1902632);
double r1902639 = r1902638 * r1902638;
double r1902640 = r1902635 / r1902639;
double r1902641 = r1902638 * r1902632;
double r1902642 = r1902635 / r1902641;
double r1902643 = r1902635 / r1902638;
double r1902644 = r1902635 / r1902632;
double r1902645 = fma(r1902637, r1902643, r1902644);
double r1902646 = r1902642 - r1902645;
double r1902647 = fma(r1902637, r1902640, r1902646);
double r1902648 = 1.0;
double r1902649 = r1902647 + r1902648;
double r1902650 = 2.424239464461981;
bool r1902651 = r1902632 <= r1902650;
double r1902652 = 0.225;
double r1902653 = 0.009642857142857142;
double r1902654 = r1902636 * r1902653;
double r1902655 = r1902652 - r1902654;
double r1902656 = -0.5;
double r1902657 = fma(r1902636, r1902655, r1902656);
double r1902658 = r1902651 ? r1902657 : r1902649;
double r1902659 = r1902634 ? r1902649 : r1902658;
return r1902659;
}



Bits error versus x
if x < -2.447149999215354 or 2.424239464461981 < x Initial program 0.0
Taylor expanded around inf 0.4
Simplified0.4
if -2.447149999215354 < x < 2.424239464461981Initial program 62.8
rmApplied add-cube-cbrt61.2
Applied add-cube-cbrt62.9
Applied prod-diff62.9
Simplified61.0
Simplified61.3
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.3
herbie shell --seed 2019173 +o rules:numerics
(FPCore (x)
:name "sintan (problem 3.4.5)"
(/ (- x (sin x)) (- x (tan x))))