\frac{x - \sin x}{x - \tan x}\begin{array}{l}
\mathbf{if}\;x \le -1.5623918316578669:\\
\;\;\;\;\sqrt[3]{{\left({\left(\frac{x - \sin x}{x - \tan x}\right)}^{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right)}\right)}^{\left(\sqrt[3]{3}\right)}}\\
\mathbf{elif}\;x \le 0.024314219703607573:\\
\;\;\;\;\mathsf{fma}\left(\frac{9}{40}, {x}^{2}, -\mathsf{fma}\left(\frac{27}{2800}, {x}^{4}, \frac{1}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{{\left(\frac{x - \sin x}{x - \tan x}\right)}^{3}}\\
\end{array}double f(double x) {
double r20684 = x;
double r20685 = sin(r20684);
double r20686 = r20684 - r20685;
double r20687 = tan(r20684);
double r20688 = r20684 - r20687;
double r20689 = r20686 / r20688;
return r20689;
}
double f(double x) {
double r20690 = x;
double r20691 = -1.5623918316578669;
bool r20692 = r20690 <= r20691;
double r20693 = sin(r20690);
double r20694 = r20690 - r20693;
double r20695 = tan(r20690);
double r20696 = r20690 - r20695;
double r20697 = r20694 / r20696;
double r20698 = 3.0;
double r20699 = cbrt(r20698);
double r20700 = r20699 * r20699;
double r20701 = pow(r20697, r20700);
double r20702 = pow(r20701, r20699);
double r20703 = cbrt(r20702);
double r20704 = 0.024314219703607573;
bool r20705 = r20690 <= r20704;
double r20706 = 0.225;
double r20707 = 2.0;
double r20708 = pow(r20690, r20707);
double r20709 = 0.009642857142857142;
double r20710 = 4.0;
double r20711 = pow(r20690, r20710);
double r20712 = 0.5;
double r20713 = fma(r20709, r20711, r20712);
double r20714 = -r20713;
double r20715 = fma(r20706, r20708, r20714);
double r20716 = pow(r20697, r20698);
double r20717 = cbrt(r20716);
double r20718 = r20705 ? r20715 : r20717;
double r20719 = r20692 ? r20703 : r20718;
return r20719;
}



Bits error versus x
if x < -1.5623918316578669Initial program 0.0
rmApplied add-cbrt-cube41.9
Applied add-cbrt-cube43.1
Applied cbrt-undiv43.1
Simplified0.0
rmApplied add-cube-cbrt0.0
Applied pow-unpow0.0
if -1.5623918316578669 < x < 0.024314219703607573Initial program 62.9
Taylor expanded around 0 0.1
Simplified0.1
if 0.024314219703607573 < x Initial program 0.1
rmApplied add-cbrt-cube41.0
Applied add-cbrt-cube42.1
Applied cbrt-undiv42.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020036 +o rules:numerics
(FPCore (x)
:name "sintan (problem 3.4.5)"
:precision binary64
(/ (- x (sin x)) (- x (tan x))))