Average Error: 20.8 → 19.4
Time: 25.4s
Precision: 64
\[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
\[\begin{array}{l} \mathbf{if}\;y \le -3390462636455431410687387521523908608:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{z}{\frac{3}{t}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{3 \cdot b}\\ \mathbf{elif}\;y \le 7.347963142841411576919910227448373696291 \cdot 10^{-9}:\\ \;\;\;\;\left(1 - {y}^{2} \cdot \frac{1}{2}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{a}{3 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\cos \left(y - \sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \left(\sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \sqrt[3]{\frac{z}{\frac{3}{t}}}\right)\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{a}{3 \cdot b}\\ \end{array}\]
\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}
\begin{array}{l}
\mathbf{if}\;y \le -3390462636455431410687387521523908608:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{z}{\frac{3}{t}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{3 \cdot b}\\

\mathbf{elif}\;y \le 7.347963142841411576919910227448373696291 \cdot 10^{-9}:\\
\;\;\;\;\left(1 - {y}^{2} \cdot \frac{1}{2}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{a}{3 \cdot b}\\

\mathbf{else}:\\
\;\;\;\;\cos \left(y - \sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \left(\sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \sqrt[3]{\frac{z}{\frac{3}{t}}}\right)\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{a}{3 \cdot b}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r630485 = 2.0;
        double r630486 = x;
        double r630487 = sqrt(r630486);
        double r630488 = r630485 * r630487;
        double r630489 = y;
        double r630490 = z;
        double r630491 = t;
        double r630492 = r630490 * r630491;
        double r630493 = 3.0;
        double r630494 = r630492 / r630493;
        double r630495 = r630489 - r630494;
        double r630496 = cos(r630495);
        double r630497 = r630488 * r630496;
        double r630498 = a;
        double r630499 = b;
        double r630500 = r630499 * r630493;
        double r630501 = r630498 / r630500;
        double r630502 = r630497 - r630501;
        return r630502;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r630503 = y;
        double r630504 = -3.3904626364554314e+36;
        bool r630505 = r630503 <= r630504;
        double r630506 = 2.0;
        double r630507 = x;
        double r630508 = sqrt(r630507);
        double r630509 = r630506 * r630508;
        double r630510 = cos(r630503);
        double r630511 = z;
        double r630512 = 3.0;
        double r630513 = t;
        double r630514 = r630512 / r630513;
        double r630515 = r630511 / r630514;
        double r630516 = cos(r630515);
        double r630517 = r630510 * r630516;
        double r630518 = sin(r630503);
        double r630519 = -r630515;
        double r630520 = sin(r630519);
        double r630521 = r630518 * r630520;
        double r630522 = r630517 - r630521;
        double r630523 = r630509 * r630522;
        double r630524 = a;
        double r630525 = b;
        double r630526 = r630512 * r630525;
        double r630527 = r630524 / r630526;
        double r630528 = r630523 - r630527;
        double r630529 = 7.3479631428414116e-09;
        bool r630530 = r630503 <= r630529;
        double r630531 = 1.0;
        double r630532 = 2.0;
        double r630533 = pow(r630503, r630532);
        double r630534 = 0.5;
        double r630535 = r630533 * r630534;
        double r630536 = r630531 - r630535;
        double r630537 = r630536 * r630509;
        double r630538 = r630537 - r630527;
        double r630539 = cbrt(r630515);
        double r630540 = r630539 * r630539;
        double r630541 = r630539 * r630540;
        double r630542 = r630503 - r630541;
        double r630543 = cos(r630542);
        double r630544 = r630543 * r630509;
        double r630545 = r630544 - r630527;
        double r630546 = r630530 ? r630538 : r630545;
        double r630547 = r630505 ? r630528 : r630546;
        return r630547;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original20.8
Target18.7
Herbie19.4
\[\begin{array}{l} \mathbf{if}\;z \lt -1.379333748723514136852843173740882251575 \cdot 10^{129}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(\frac{1}{y} - \frac{\frac{0.3333333333333333148296162562473909929395}{z}}{t}\right) - \frac{\frac{a}{3}}{b}\\ \mathbf{elif}\;z \lt 3.516290613555987147199887107423758623887 \cdot 10^{106}:\\ \;\;\;\;\left(\sqrt{x} \cdot 2\right) \cdot \cos \left(y - \frac{t}{3} \cdot z\right) - \frac{\frac{a}{3}}{b}\\ \mathbf{else}:\\ \;\;\;\;\cos \left(y - \frac{\frac{0.3333333333333333148296162562473909929395}{z}}{t}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if y < -3.3904626364554314e+36

    1. Initial program 21.2

      \[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
    2. Using strategy rm
    3. Applied sub-neg21.2

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \cos \color{blue}{\left(y + \left(-\frac{z \cdot t}{3}\right)\right)} - \frac{a}{b \cdot 3}\]
    4. Applied cos-sum20.4

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(\cos y \cdot \cos \left(-\frac{z \cdot t}{3}\right) - \sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right)} - \frac{a}{b \cdot 3}\]
    5. Simplified20.3

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\color{blue}{\cos \left(\frac{z}{\frac{3}{t}}\right) \cdot \cos y} - \sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) - \frac{a}{b \cdot 3}\]
    6. Simplified20.4

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos \left(\frac{z}{\frac{3}{t}}\right) \cdot \cos y - \color{blue}{\sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)}\right) - \frac{a}{b \cdot 3}\]

    if -3.3904626364554314e+36 < y < 7.3479631428414116e-09

    1. Initial program 20.8

      \[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
    2. Taylor expanded around 0 18.5

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(1 - \frac{1}{2} \cdot {y}^{2}\right)} - \frac{a}{b \cdot 3}\]
    3. Simplified18.5

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(1 - {y}^{2} \cdot \frac{1}{2}\right)} - \frac{a}{b \cdot 3}\]

    if 7.3479631428414116e-09 < y

    1. Initial program 20.6

      \[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt20.6

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \color{blue}{\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\right) \cdot \sqrt[3]{\frac{z \cdot t}{3}}}\right) - \frac{a}{b \cdot 3}\]
    4. Simplified20.6

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \color{blue}{\left(\sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \sqrt[3]{\frac{z}{\frac{3}{t}}}\right)} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\right) - \frac{a}{b \cdot 3}\]
    5. Simplified20.6

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \left(\sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \sqrt[3]{\frac{z}{\frac{3}{t}}}\right) \cdot \color{blue}{\sqrt[3]{\frac{z}{\frac{3}{t}}}}\right) - \frac{a}{b \cdot 3}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification19.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \le -3390462636455431410687387521523908608:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{z}{\frac{3}{t}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{3 \cdot b}\\ \mathbf{elif}\;y \le 7.347963142841411576919910227448373696291 \cdot 10^{-9}:\\ \;\;\;\;\left(1 - {y}^{2} \cdot \frac{1}{2}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{a}{3 \cdot b}\\ \mathbf{else}:\\ \;\;\;\;\cos \left(y - \sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \left(\sqrt[3]{\frac{z}{\frac{3}{t}}} \cdot \sqrt[3]{\frac{z}{\frac{3}{t}}}\right)\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{a}{3 \cdot b}\\ \end{array}\]

Reproduce

herbie shell --seed 2019174 
(FPCore (x y z t a b)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, K"

  :herbie-target
  (if (< z -1.3793337487235141e+129) (- (* (* 2.0 (sqrt x)) (cos (- (/ 1.0 y) (/ (/ 0.3333333333333333 z) t)))) (/ (/ a 3.0) b)) (if (< z 3.516290613555987e+106) (- (* (* (sqrt x) 2.0) (cos (- y (* (/ t 3.0) z)))) (/ (/ a 3.0) b)) (- (* (cos (- y (/ (/ 0.3333333333333333 z) t))) (* 2.0 (sqrt x))) (/ (/ a b) 3.0))))

  (- (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) (/ a (* b 3.0))))