\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos \left(2 \cdot x\right)}{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}}{\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|}double code(double x, double cos, double sin) {
return ((double) (((double) cos(((double) (2.0 * x)))) / ((double) (((double) pow(cos, 2.0)) * ((double) (((double) (x * ((double) pow(sin, 2.0)))) * x))))));
}
double code(double x, double cos, double sin) {
return ((double) (((double) (((double) cos(((double) (2.0 * x)))) / ((double) fabs(((double) (((double) pow(((double) (((double) pow(cos, 1.0)) * ((double) pow(sin, 1.0)))), 1.0)) * x)))))) / ((double) fabs(((double) (((double) pow(((double) (((double) pow(cos, 1.0)) * ((double) pow(sin, 1.0)))), 1.0)) * x))))));
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.9
rmApplied sqr-pow27.9
Applied associate-*r*21.6
rmApplied add-sqr-sqrt21.6
Simplified21.6
Simplified2.6
Taylor expanded around inf 2.9
rmApplied unpow22.9
Applied associate-/r*2.7
Final simplification2.7
herbie shell --seed 2020140
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
:precision binary64
(/ (cos (* 2.0 x)) (* (pow cos 2.0) (* (* x (pow sin 2.0)) x))))