\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({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r61421 = 2.0;
double r61422 = x;
double r61423 = r61421 * r61422;
double r61424 = cos(r61423);
double r61425 = cos;
double r61426 = pow(r61425, r61421);
double r61427 = sin;
double r61428 = pow(r61427, r61421);
double r61429 = r61422 * r61428;
double r61430 = r61429 * r61422;
double r61431 = r61426 * r61430;
double r61432 = r61424 / r61431;
return r61432;
}
double f(double x, double cos, double sin) {
double r61433 = 2.0;
double r61434 = x;
double r61435 = r61433 * r61434;
double r61436 = cos(r61435);
double r61437 = cos;
double r61438 = 2.0;
double r61439 = r61433 / r61438;
double r61440 = pow(r61437, r61439);
double r61441 = sin;
double r61442 = pow(r61441, r61439);
double r61443 = r61434 * r61442;
double r61444 = r61440 * r61443;
double r61445 = r61440 * r61444;
double r61446 = r61442 * r61434;
double r61447 = r61445 * r61446;
double r61448 = r61436 / r61447;
return r61448;
}



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.7
rmApplied associate-*l*19.6
rmApplied associate-*r*15.8
rmApplied sqr-pow15.8
Applied associate-*l*6.7
Final simplification6.7
herbie shell --seed 2019326
(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))))