\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\frac{sin \cdot \left(x \cdot cos\right)}{\frac{\cos \left(2 \cdot x\right)}{sin \cdot \left(x \cdot cos\right)}}}double f(double x, double cos, double sin) {
double r1399142 = 2.0;
double r1399143 = x;
double r1399144 = r1399142 * r1399143;
double r1399145 = cos(r1399144);
double r1399146 = cos;
double r1399147 = pow(r1399146, r1399142);
double r1399148 = sin;
double r1399149 = pow(r1399148, r1399142);
double r1399150 = r1399143 * r1399149;
double r1399151 = r1399150 * r1399143;
double r1399152 = r1399147 * r1399151;
double r1399153 = r1399145 / r1399152;
return r1399153;
}
double f(double x, double cos, double sin) {
double r1399154 = 1.0;
double r1399155 = sin;
double r1399156 = x;
double r1399157 = cos;
double r1399158 = r1399156 * r1399157;
double r1399159 = r1399155 * r1399158;
double r1399160 = 2.0;
double r1399161 = r1399160 * r1399156;
double r1399162 = cos(r1399161);
double r1399163 = r1399162 / r1399159;
double r1399164 = r1399159 / r1399163;
double r1399165 = r1399154 / r1399164;
return r1399165;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.5
Simplified2.8
rmApplied *-un-lft-identity2.8
Applied associate-/l*2.9
rmApplied *-un-lft-identity2.9
Applied associate-/l*2.9
Simplified2.9
Final simplification2.9
herbie shell --seed 2019133 +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))))