\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\left(cos \cdot sin\right) \cdot x} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{\cos \left(2 \cdot x\right)} \cdot \left(\sqrt[3]{\cos \left(2 \cdot x\right)} \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}\right)}}{x} \cdot \frac{\sqrt[3]{\cos \left(2 \cdot x\right)} \cdot \sqrt[3]{\cos \left(2 \cdot x\right)}}{cos \cdot sin}\right)double f(double x, double cos, double sin) {
double r1932497 = 2.0;
double r1932498 = x;
double r1932499 = r1932497 * r1932498;
double r1932500 = cos(r1932499);
double r1932501 = cos;
double r1932502 = pow(r1932501, r1932497);
double r1932503 = sin;
double r1932504 = pow(r1932503, r1932497);
double r1932505 = r1932498 * r1932504;
double r1932506 = r1932505 * r1932498;
double r1932507 = r1932502 * r1932506;
double r1932508 = r1932500 / r1932507;
return r1932508;
}
double f(double x, double cos, double sin) {
double r1932509 = 1.0;
double r1932510 = cos;
double r1932511 = sin;
double r1932512 = r1932510 * r1932511;
double r1932513 = x;
double r1932514 = r1932512 * r1932513;
double r1932515 = r1932509 / r1932514;
double r1932516 = 2.0;
double r1932517 = r1932516 * r1932513;
double r1932518 = cos(r1932517);
double r1932519 = cbrt(r1932518);
double r1932520 = r1932519 * r1932519;
double r1932521 = r1932519 * r1932520;
double r1932522 = cbrt(r1932521);
double r1932523 = r1932522 / r1932513;
double r1932524 = r1932520 / r1932512;
double r1932525 = r1932523 * r1932524;
double r1932526 = r1932515 * r1932525;
return r1932526;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.0
Simplified2.8
rmApplied *-un-lft-identity2.8
Applied times-frac2.6
rmApplied add-cube-cbrt2.7
Applied times-frac2.9
rmApplied add-cbrt-cube2.9
Final simplification2.9
herbie shell --seed 2019130 +o rules:numerics
(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))))