Average Error: 28.5 → 2.7
Time: 8.1s
Precision: 64
\[\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}}\]
\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 r64174 = 2.0;
        double r64175 = x;
        double r64176 = r64174 * r64175;
        double r64177 = cos(r64176);
        double r64178 = cos;
        double r64179 = pow(r64178, r64174);
        double r64180 = sin;
        double r64181 = pow(r64180, r64174);
        double r64182 = r64175 * r64181;
        double r64183 = r64182 * r64175;
        double r64184 = r64179 * r64183;
        double r64185 = r64177 / r64184;
        return r64185;
}

double f(double x, double cos, double sin) {
        double r64186 = 2.0;
        double r64187 = x;
        double r64188 = r64186 * r64187;
        double r64189 = cos(r64188);
        double r64190 = sin;
        double r64191 = cos;
        double r64192 = r64187 * r64191;
        double r64193 = r64190 * r64192;
        double r64194 = fabs(r64193);
        double r64195 = 2.0;
        double r64196 = pow(r64194, r64195);
        double r64197 = r64189 / r64196;
        return r64197;
}

Error

Bits error versus x

Bits error versus cos

Bits error versus sin

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 28.5

    \[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
  2. Using strategy rm
  3. Applied sqr-pow28.5

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot \color{blue}{\left({sin}^{\left(\frac{2}{2}\right)} \cdot {sin}^{\left(\frac{2}{2}\right)}\right)}\right) \cdot x\right)}\]
  4. Applied associate-*r*22.4

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\color{blue}{\left(\left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right)} \cdot x\right)}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt22.4

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\color{blue}{\sqrt{{cos}^{2} \cdot \left(\left(\left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot x\right)} \cdot \sqrt{{cos}^{2} \cdot \left(\left(\left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot x\right)}}}\]
  7. Simplified22.4

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\color{blue}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|} \cdot \sqrt{{cos}^{2} \cdot \left(\left(\left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot x\right)}}\]
  8. Simplified3.0

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right| \cdot \color{blue}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}\]
  9. Taylor expanded around 0 3.1

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\color{blue}{{\left(\left|{\left({sin}^{1} \cdot {cos}^{1}\right)}^{1} \cdot x\right|\right)}^{2}}}\]
  10. Simplified3.1

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{\color{blue}{{\left(\left|{\left({cos}^{1} \cdot {sin}^{1}\right)}^{1} \cdot x\right|\right)}^{2}}}\]
  11. Taylor expanded around 0 2.7

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{{\left(\left|\color{blue}{sin \cdot \left(x \cdot cos\right)}\right|\right)}^{2}}\]
  12. Final simplification2.7

    \[\leadsto \frac{\cos \left(2 \cdot x\right)}{{\left(\left|sin \cdot \left(x \cdot cos\right)\right|\right)}^{2}}\]

Reproduce

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