\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) \cdot \frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}{\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 r45492 = 2.0;
double r45493 = x;
double r45494 = r45492 * r45493;
double r45495 = cos(r45494);
double r45496 = cos;
double r45497 = pow(r45496, r45492);
double r45498 = sin;
double r45499 = pow(r45498, r45492);
double r45500 = r45493 * r45499;
double r45501 = r45500 * r45493;
double r45502 = r45497 * r45501;
double r45503 = r45495 / r45502;
return r45503;
}
double f(double x, double cos, double sin) {
double r45504 = 2.0;
double r45505 = x;
double r45506 = r45504 * r45505;
double r45507 = cos(r45506);
double r45508 = 1.0;
double r45509 = cos;
double r45510 = 2.0;
double r45511 = r45504 / r45510;
double r45512 = pow(r45509, r45511);
double r45513 = sin;
double r45514 = pow(r45513, r45511);
double r45515 = r45505 * r45514;
double r45516 = r45512 * r45515;
double r45517 = fabs(r45516);
double r45518 = r45508 / r45517;
double r45519 = r45507 * r45518;
double r45520 = r45519 / r45517;
return r45520;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.4
rmApplied sqr-pow28.4
Applied associate-*r*22.0
rmApplied add-sqr-sqrt22.0
Simplified22.0
Simplified3.0
rmApplied associate-/r*2.7
rmApplied div-inv2.7
Final simplification2.7
herbie shell --seed 2020064
(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))))