Average Error: 28.5 → 2.7
Time: 8.2s
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 r66431 = 2.0;
        double r66432 = x;
        double r66433 = r66431 * r66432;
        double r66434 = cos(r66433);
        double r66435 = cos;
        double r66436 = pow(r66435, r66431);
        double r66437 = sin;
        double r66438 = pow(r66437, r66431);
        double r66439 = r66432 * r66438;
        double r66440 = r66439 * r66432;
        double r66441 = r66436 * r66440;
        double r66442 = r66434 / r66441;
        return r66442;
}

double f(double x, double cos, double sin) {
        double r66443 = 2.0;
        double r66444 = x;
        double r66445 = r66443 * r66444;
        double r66446 = cos(r66445);
        double r66447 = sin;
        double r66448 = cos;
        double r66449 = r66444 * r66448;
        double r66450 = r66447 * r66449;
        double r66451 = fabs(r66450);
        double r66452 = 2.0;
        double r66453 = pow(r66451, r66452);
        double r66454 = r66446 / r66453;
        return r66454;
}

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