\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(\left|sin \cdot \left(x \cdot cos\right)\right|\right)}^{2}}double f(double x, double cos, double sin) {
double r66431 = 2.0;
double r66432 = x;
double r66433 = r66431 * r66432;
double r66434 = cos(r66433);
double r66435 = cos;
double r66436 = pow(r66435, r66431);
double r66437 = sin;
double r66438 = pow(r66437, r66431);
double r66439 = r66432 * r66438;
double r66440 = r66439 * r66432;
double r66441 = r66436 * r66440;
double r66442 = r66434 / r66441;
return r66442;
}
double f(double x, double cos, double sin) {
double r66443 = 2.0;
double r66444 = x;
double r66445 = r66443 * r66444;
double r66446 = cos(r66445);
double r66447 = sin;
double r66448 = cos;
double r66449 = r66444 * r66448;
double r66450 = r66447 * r66449;
double r66451 = fabs(r66450);
double r66452 = 2.0;
double r66453 = pow(r66451, r66452);
double r66454 = r66446 / r66453;
return r66454;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*r*22.4
rmApplied add-sqr-sqrt22.4
Simplified22.4
Simplified3.0
Taylor expanded around 0 3.1
Simplified3.1
Taylor expanded around 0 2.7
Final simplification2.7
herbie shell --seed 2020001 +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))))