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 r66430 = 2.0;
        double r66431 = x;
        double r66432 = r66430 * r66431;
        double r66433 = cos(r66432);
        double r66434 = cos;
        double r66435 = pow(r66434, r66430);
        double r66436 = sin;
        double r66437 = pow(r66436, r66430);
        double r66438 = r66431 * r66437;
        double r66439 = r66438 * r66431;
        double r66440 = r66435 * r66439;
        double r66441 = r66433 / r66440;
        return r66441;
}

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

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