\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{sin}}{x}}{cos}}{\left(x \cdot sin\right) \cdot cos}double f(double x, double cos, double sin) {
double r875159 = 2.0;
double r875160 = x;
double r875161 = r875159 * r875160;
double r875162 = cos(r875161);
double r875163 = cos;
double r875164 = pow(r875163, r875159);
double r875165 = sin;
double r875166 = pow(r875165, r875159);
double r875167 = r875160 * r875166;
double r875168 = r875167 * r875160;
double r875169 = r875164 * r875168;
double r875170 = r875162 / r875169;
return r875170;
}
double f(double x, double cos, double sin) {
double r875171 = 2.0;
double r875172 = x;
double r875173 = r875171 * r875172;
double r875174 = cos(r875173);
double r875175 = sin;
double r875176 = r875174 / r875175;
double r875177 = r875176 / r875172;
double r875178 = cos;
double r875179 = r875177 / r875178;
double r875180 = r875172 * r875175;
double r875181 = r875180 * r875178;
double r875182 = r875179 / r875181;
return r875182;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.8
Simplified2.7
rmApplied *-un-lft-identity2.7
Applied times-frac2.5
rmApplied *-un-lft-identity2.5
Applied times-frac2.6
rmApplied associate-/r*2.6
rmApplied associate-*l/2.6
Simplified2.6
Final simplification2.6
herbie shell --seed 2019156
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))