\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(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|} \cdot \frac{1}{\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 r65565 = 2.0;
double r65566 = x;
double r65567 = r65565 * r65566;
double r65568 = cos(r65567);
double r65569 = cos;
double r65570 = pow(r65569, r65565);
double r65571 = sin;
double r65572 = pow(r65571, r65565);
double r65573 = r65566 * r65572;
double r65574 = r65573 * r65566;
double r65575 = r65570 * r65574;
double r65576 = r65568 / r65575;
return r65576;
}
double f(double x, double cos, double sin) {
double r65577 = 2.0;
double r65578 = x;
double r65579 = r65577 * r65578;
double r65580 = cos(r65579);
double r65581 = cos;
double r65582 = 2.0;
double r65583 = r65577 / r65582;
double r65584 = pow(r65581, r65583);
double r65585 = sin;
double r65586 = pow(r65585, r65583);
double r65587 = r65578 * r65586;
double r65588 = r65584 * r65587;
double r65589 = fabs(r65588);
double r65590 = r65580 / r65589;
double r65591 = 1.0;
double r65592 = r65591 / r65589;
double r65593 = r65590 * r65592;
return r65593;
}



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.8
rmApplied add-sqr-sqrt21.9
Simplified21.8
Simplified3.1
rmApplied associate-/r*2.8
rmApplied div-inv2.8
Final simplification2.8
herbie shell --seed 2020065 +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))))