\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos \left(2 \cdot x\right)}{\left(cos \cdot x\right) \cdot sin}}{\left(\sqrt[3]{sin} \cdot \sqrt[3]{sin}\right) \cdot \left(\sqrt[3]{sin} \cdot \left(cos \cdot x\right)\right)}double f(double x, double cos, double sin) {
double r12385284 = 2.0;
double r12385285 = x;
double r12385286 = r12385284 * r12385285;
double r12385287 = cos(r12385286);
double r12385288 = cos;
double r12385289 = pow(r12385288, r12385284);
double r12385290 = sin;
double r12385291 = pow(r12385290, r12385284);
double r12385292 = r12385285 * r12385291;
double r12385293 = r12385292 * r12385285;
double r12385294 = r12385289 * r12385293;
double r12385295 = r12385287 / r12385294;
return r12385295;
}
double f(double x, double cos, double sin) {
double r12385296 = 2.0;
double r12385297 = x;
double r12385298 = r12385296 * r12385297;
double r12385299 = cos(r12385298);
double r12385300 = cos;
double r12385301 = r12385300 * r12385297;
double r12385302 = sin;
double r12385303 = r12385301 * r12385302;
double r12385304 = r12385299 / r12385303;
double r12385305 = cbrt(r12385302);
double r12385306 = r12385305 * r12385305;
double r12385307 = r12385305 * r12385301;
double r12385308 = r12385306 * r12385307;
double r12385309 = r12385304 / r12385308;
return r12385309;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.8
Simplified2.8
rmApplied associate-/r*2.5
rmApplied add-cube-cbrt2.9
Applied associate-*l*2.9
Final simplification2.9
herbie shell --seed 2019119 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))