Average Error: 27.8 → 2.4
Time: 21.9s
Precision: 64
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\begin{array}{l} \mathbf{if}\;sin \le 1.4141501599718892 \cdot 10^{-225}:\\ \;\;\;\;\frac{\cos \left(2 \cdot x\right)}{\left(cos \cdot \left(x \cdot sin\right)\right) \cdot \left(cos \cdot \left(x \cdot sin\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{cos \cdot x}}{sin}}{sin \cdot \left(cos \cdot x\right)}\\ \end{array}\]
\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}
\begin{array}{l}
\mathbf{if}\;sin \le 1.4141501599718892 \cdot 10^{-225}:\\
\;\;\;\;\frac{\cos \left(2 \cdot x\right)}{\left(cos \cdot \left(x \cdot sin\right)\right) \cdot \left(cos \cdot \left(x \cdot sin\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{cos \cdot x}}{sin}}{sin \cdot \left(cos \cdot x\right)}\\

\end{array}
double f(double x, double cos, double sin) {
        double r1854352 = 2.0;
        double r1854353 = x;
        double r1854354 = r1854352 * r1854353;
        double r1854355 = cos(r1854354);
        double r1854356 = cos;
        double r1854357 = pow(r1854356, r1854352);
        double r1854358 = sin;
        double r1854359 = pow(r1854358, r1854352);
        double r1854360 = r1854353 * r1854359;
        double r1854361 = r1854360 * r1854353;
        double r1854362 = r1854357 * r1854361;
        double r1854363 = r1854355 / r1854362;
        return r1854363;
}

double f(double x, double cos, double sin) {
        double r1854364 = sin;
        double r1854365 = 1.4141501599718892e-225;
        bool r1854366 = r1854364 <= r1854365;
        double r1854367 = 2.0;
        double r1854368 = x;
        double r1854369 = r1854367 * r1854368;
        double r1854370 = cos(r1854369);
        double r1854371 = cos;
        double r1854372 = r1854368 * r1854364;
        double r1854373 = r1854371 * r1854372;
        double r1854374 = r1854373 * r1854373;
        double r1854375 = r1854370 / r1854374;
        double r1854376 = r1854371 * r1854368;
        double r1854377 = r1854370 / r1854376;
        double r1854378 = r1854377 / r1854364;
        double r1854379 = r1854364 * r1854376;
        double r1854380 = r1854378 / r1854379;
        double r1854381 = r1854366 ? r1854375 : r1854380;
        return r1854381;
}

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. Split input into 2 regimes
  2. if sin < 1.4141501599718892e-225

    1. Initial program 29.6

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

      \[\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. Taylor expanded around inf 33.0

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

      \[\leadsto \color{blue}{\frac{\frac{\cos \left(x \cdot 2\right)}{\left(cos \cdot x\right) \cdot sin}}{\left(cos \cdot x\right) \cdot sin}}\]
    5. Taylor expanded around -inf 32.9

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

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

    if 1.4141501599718892e-225 < sin

    1. Initial program 25.9

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

      \[\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. Taylor expanded around inf 29.3

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

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

      \[\leadsto \frac{\color{blue}{\frac{\frac{\cos \left(x \cdot 2\right)}{cos \cdot x}}{sin}}}{\left(cos \cdot x\right) \cdot sin}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;sin \le 1.4141501599718892 \cdot 10^{-225}:\\ \;\;\;\;\frac{\cos \left(2 \cdot x\right)}{\left(cos \cdot \left(x \cdot sin\right)\right) \cdot \left(cos \cdot \left(x \cdot sin\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{cos \cdot x}}{sin}}{sin \cdot \left(cos \cdot x\right)}\\ \end{array}\]

Reproduce

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