\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}{\cos \left(2 \cdot x\right)}}double f(double x, double cos, double sin) {
double r69218 = 2.0;
double r69219 = x;
double r69220 = r69218 * r69219;
double r69221 = cos(r69220);
double r69222 = cos;
double r69223 = pow(r69222, r69218);
double r69224 = sin;
double r69225 = pow(r69224, r69218);
double r69226 = r69219 * r69225;
double r69227 = r69226 * r69219;
double r69228 = r69223 * r69227;
double r69229 = r69221 / r69228;
return r69229;
}
double f(double x, double cos, double sin) {
double r69230 = 1.0;
double r69231 = cos;
double r69232 = 2.0;
double r69233 = 2.0;
double r69234 = r69232 / r69233;
double r69235 = pow(r69231, r69234);
double r69236 = x;
double r69237 = sin;
double r69238 = pow(r69237, r69234);
double r69239 = r69236 * r69238;
double r69240 = r69235 * r69239;
double r69241 = fabs(r69240);
double r69242 = r69230 / r69241;
double r69243 = r69232 * r69236;
double r69244 = cos(r69243);
double r69245 = r69241 / r69244;
double r69246 = r69242 / r69245;
return r69246;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.3
rmApplied sqr-pow28.3
Applied associate-*r*22.1
rmApplied add-sqr-sqrt22.2
Simplified22.1
Simplified2.9
rmApplied clear-num3.0
rmApplied *-un-lft-identity3.0
Applied times-frac3.0
Applied associate-/r*2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019353 +o rules:numerics
(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))))