\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(2 \cdot x\right)}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right| \cdot \left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}double f(double x, double cos, double sin) {
double r54522 = 2.0;
double r54523 = x;
double r54524 = r54522 * r54523;
double r54525 = cos(r54524);
double r54526 = cos;
double r54527 = pow(r54526, r54522);
double r54528 = sin;
double r54529 = pow(r54528, r54522);
double r54530 = r54523 * r54529;
double r54531 = r54530 * r54523;
double r54532 = r54527 * r54531;
double r54533 = r54525 / r54532;
return r54533;
}
double f(double x, double cos, double sin) {
double r54534 = 2.0;
double r54535 = x;
double r54536 = r54534 * r54535;
double r54537 = cos(r54536);
double r54538 = cos;
double r54539 = 2.0;
double r54540 = r54534 / r54539;
double r54541 = pow(r54538, r54540);
double r54542 = sin;
double r54543 = pow(r54542, r54540);
double r54544 = r54535 * r54543;
double r54545 = r54541 * r54544;
double r54546 = fabs(r54545);
double r54547 = r54546 * r54546;
double r54548 = r54537 / r54547;
return r54548;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*r*22.4
rmApplied add-sqr-sqrt22.5
Simplified22.4
Simplified3.0
rmApplied *-un-lft-identity3.0
Applied times-frac2.8
rmApplied add-sqr-sqrt2.9
Final simplification3.0
herbie shell --seed 2019303
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
:precision binary64
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))