Average Error: 27.5 → 2.4
Time: 3.4m
Precision: 64
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\frac{\frac{1}{sin} \cdot \frac{\frac{\cos \left(x \cdot 2\right)}{cos}}{x}}{\left(x \cdot cos\right) \cdot sin}\]
double f(double x, double cos, double sin) {
        double r26086038 = 2.0;
        double r26086039 = x;
        double r26086040 = r26086038 * r26086039;
        double r26086041 = cos(r26086040);
        double r26086042 = cos;
        double r26086043 = pow(r26086042, r26086038);
        double r26086044 = sin;
        double r26086045 = pow(r26086044, r26086038);
        double r26086046 = r26086039 * r26086045;
        double r26086047 = r26086046 * r26086039;
        double r26086048 = r26086043 * r26086047;
        double r26086049 = r26086041 / r26086048;
        return r26086049;
}

double f(double x, double cos, double sin) {
        double r26086050 = 1.0;
        double r26086051 = sin;
        double r26086052 = r26086050 / r26086051;
        double r26086053 = x;
        double r26086054 = 2.0;
        double r26086055 = r26086053 * r26086054;
        double r26086056 = cos(r26086055);
        double r26086057 = cos;
        double r26086058 = r26086056 / r26086057;
        double r26086059 = r26086058 / r26086053;
        double r26086060 = r26086052 * r26086059;
        double r26086061 = r26086053 * r26086057;
        double r26086062 = r26086061 * r26086051;
        double r26086063 = r26086060 / r26086062;
        return r26086063;
}

\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}
\frac{\frac{1}{sin} \cdot \frac{\frac{\cos \left(x \cdot 2\right)}{cos}}{x}}{\left(x \cdot cos\right) \cdot sin}

Error

Bits error versus x

Bits error versus cos

Bits error versus sin

Derivation

  1. Initial program 27.5

    \[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
  2. Simplified2.6

    \[\leadsto \color{blue}{\frac{\cos \left(2 \cdot x\right)}{\left(sin \cdot \left(x \cdot cos\right)\right) \cdot \left(sin \cdot \left(x \cdot cos\right)\right)}}\]
  3. Using strategy rm
  4. Applied associate-/r*2.3

    \[\leadsto \color{blue}{\frac{\frac{\cos \left(2 \cdot x\right)}{sin \cdot \left(x \cdot cos\right)}}{sin \cdot \left(x \cdot cos\right)}}\]
  5. Using strategy rm
  6. Applied *-un-lft-identity2.3

    \[\leadsto \frac{\frac{\color{blue}{1 \cdot \cos \left(2 \cdot x\right)}}{sin \cdot \left(x \cdot cos\right)}}{sin \cdot \left(x \cdot cos\right)}\]
  7. Applied times-frac2.5

    \[\leadsto \frac{\color{blue}{\frac{1}{sin} \cdot \frac{\cos \left(2 \cdot x\right)}{x \cdot cos}}}{sin \cdot \left(x \cdot cos\right)}\]
  8. Using strategy rm
  9. Applied *-un-lft-identity2.5

    \[\leadsto \frac{\frac{1}{sin} \cdot \frac{\color{blue}{1 \cdot \cos \left(2 \cdot x\right)}}{x \cdot cos}}{sin \cdot \left(x \cdot cos\right)}\]
  10. Applied times-frac2.5

    \[\leadsto \frac{\frac{1}{sin} \cdot \color{blue}{\left(\frac{1}{x} \cdot \frac{\cos \left(2 \cdot x\right)}{cos}\right)}}{sin \cdot \left(x \cdot cos\right)}\]
  11. Using strategy rm
  12. Applied associate-*l/2.4

    \[\leadsto \frac{\frac{1}{sin} \cdot \color{blue}{\frac{1 \cdot \frac{\cos \left(2 \cdot x\right)}{cos}}{x}}}{sin \cdot \left(x \cdot cos\right)}\]
  13. Simplified2.4

    \[\leadsto \frac{\frac{1}{sin} \cdot \frac{\color{blue}{\frac{\cos \left(x \cdot 2\right)}{cos}}}{x}}{sin \cdot \left(x \cdot cos\right)}\]
  14. Final simplification2.4

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

Reproduce

herbie shell --seed 2019102 +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))))