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



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))))