\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\cos \left(2 \cdot x\right) \cdot {\left(\left(x \cdot sin\right) \cdot cos\right)}^{-2}double f(double x, double cos, double sin) {
double r1960371 = 2.0;
double r1960372 = x;
double r1960373 = r1960371 * r1960372;
double r1960374 = cos(r1960373);
double r1960375 = cos;
double r1960376 = pow(r1960375, r1960371);
double r1960377 = sin;
double r1960378 = pow(r1960377, r1960371);
double r1960379 = r1960372 * r1960378;
double r1960380 = r1960379 * r1960372;
double r1960381 = r1960376 * r1960380;
double r1960382 = r1960374 / r1960381;
return r1960382;
}
double f(double x, double cos, double sin) {
double r1960383 = 2.0;
double r1960384 = x;
double r1960385 = r1960383 * r1960384;
double r1960386 = cos(r1960385);
double r1960387 = sin;
double r1960388 = r1960384 * r1960387;
double r1960389 = cos;
double r1960390 = r1960388 * r1960389;
double r1960391 = -2.0;
double r1960392 = pow(r1960390, r1960391);
double r1960393 = r1960386 * r1960392;
return r1960393;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.4
Simplified2.7
rmApplied clear-num2.7
rmApplied *-un-lft-identity2.7
Applied times-frac2.7
Applied associate-/r*2.4
rmApplied associate-/r/2.4
Simplified2.7
rmApplied pow12.7
Applied pow12.7
Applied pow-prod-down2.7
Applied pow12.7
Applied pow-prod-down2.7
Applied inv-pow2.7
Applied pow-div2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019162 +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))))