Average Error: 20.0 → 17.6
Time: 13.9s
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}\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) \le 1.19869875367430419 \cdot 10^{142}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \left(\sqrt[3]{\frac{z}{\sqrt{3}}} \cdot \sqrt[3]{\frac{t}{\sqrt{3}}}\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\frac{z \cdot t}{3}}} \cdot \sqrt[3]{\sqrt[3]{\frac{z \cdot t}{3}}}\right) \cdot \sqrt[3]{\sqrt[3]{\frac{z \cdot t}{3}}}\right)\right) + \sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right) - \frac{a}{b \cdot 3}\\ \mathbf{else}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\ \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}\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) \le 1.19869875367430419 \cdot 10^{142}:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \left(\sqrt[3]{\frac{z}{\sqrt{3}}} \cdot \sqrt[3]{\frac{t}{\sqrt{3}}}\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\frac{z \cdot t}{3}}} \cdot \sqrt[3]{\sqrt[3]{\frac{z \cdot t}{3}}}\right) \cdot \sqrt[3]{\sqrt[3]{\frac{z \cdot t}{3}}}\right)\right) + \sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right) - \frac{a}{b \cdot 3}\\

\mathbf{else}:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r617593 = 2.0;
        double r617594 = x;
        double r617595 = sqrt(r617594);
        double r617596 = r617593 * r617595;
        double r617597 = y;
        double r617598 = z;
        double r617599 = t;
        double r617600 = r617598 * r617599;
        double r617601 = 3.0;
        double r617602 = r617600 / r617601;
        double r617603 = r617597 - r617602;
        double r617604 = cos(r617603);
        double r617605 = r617596 * r617604;
        double r617606 = a;
        double r617607 = b;
        double r617608 = r617607 * r617601;
        double r617609 = r617606 / r617608;
        double r617610 = r617605 - r617609;
        return r617610;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r617611 = 2.0;
        double r617612 = x;
        double r617613 = sqrt(r617612);
        double r617614 = r617611 * r617613;
        double r617615 = y;
        double r617616 = z;
        double r617617 = t;
        double r617618 = r617616 * r617617;
        double r617619 = 3.0;
        double r617620 = r617618 / r617619;
        double r617621 = r617615 - r617620;
        double r617622 = cos(r617621);
        double r617623 = r617614 * r617622;
        double r617624 = 1.1986987536743042e+142;
        bool r617625 = r617623 <= r617624;
        double r617626 = cos(r617615);
        double r617627 = cbrt(r617620);
        double r617628 = sqrt(r617619);
        double r617629 = r617616 / r617628;
        double r617630 = cbrt(r617629);
        double r617631 = r617617 / r617628;
        double r617632 = cbrt(r617631);
        double r617633 = r617630 * r617632;
        double r617634 = r617627 * r617633;
        double r617635 = cbrt(r617627);
        double r617636 = r617635 * r617635;
        double r617637 = r617636 * r617635;
        double r617638 = r617634 * r617637;
        double r617639 = cos(r617638);
        double r617640 = r617626 * r617639;
        double r617641 = sin(r617615);
        double r617642 = sin(r617620);
        double r617643 = r617641 * r617642;
        double r617644 = r617640 + r617643;
        double r617645 = r617614 * r617644;
        double r617646 = a;
        double r617647 = b;
        double r617648 = r617647 * r617619;
        double r617649 = r617646 / r617648;
        double r617650 = r617645 - r617649;
        double r617651 = 1.0;
        double r617652 = 0.5;
        double r617653 = 2.0;
        double r617654 = pow(r617615, r617653);
        double r617655 = r617652 * r617654;
        double r617656 = r617651 - r617655;
        double r617657 = r617614 * r617656;
        double r617658 = r617657 - r617649;
        double r617659 = r617625 ? r617650 : r617658;
        return r617659;
}

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.0
Target18.0
Herbie17.6
\[\begin{array}{l} \mathbf{if}\;z \lt -1.379333748723514 \cdot 10^{129}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(\frac{1}{y} - \frac{\frac{0.333333333333333315}{z}}{t}\right) - \frac{\frac{a}{3}}{b}\\ \mathbf{elif}\;z \lt 3.51629061355598715 \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.333333333333333315}{z}}{t}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) < 1.1986987536743042e+142

    1. Initial program 13.9

      \[\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 cos-diff13.5

      \[\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}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt13.5

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \color{blue}{\left(\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)} + \sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right) - \frac{a}{b \cdot 3}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt13.5

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

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

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \color{blue}{\left(\sqrt[3]{\frac{z}{\sqrt{3}}} \cdot \sqrt[3]{\frac{t}{\sqrt{3}}}\right)}\right) \cdot \sqrt[3]{\frac{z \cdot t}{3}}\right) + \sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right) - \frac{a}{b \cdot 3}\]
    10. Using strategy rm
    11. Applied add-cube-cbrt13.5

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

    if 1.1986987536743042e+142 < (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0))))

    1. Initial program 57.2

      \[\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 42.9

      \[\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. Recombined 2 regimes into one program.
  4. Final simplification17.6

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

Reproduce

herbie shell --seed 2020062 +o rules:numerics
(FPCore (x y z t a b)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, K"
  :precision binary64

  :herbie-target
  (if (< z -1.379333748723514e+129) (- (* (* 2 (sqrt x)) (cos (- (/ 1 y) (/ (/ 0.3333333333333333 z) t)))) (/ (/ a 3) b)) (if (< z 3.516290613555987e+106) (- (* (* (sqrt x) 2) (cos (- y (* (/ t 3) z)))) (/ (/ a 3) b)) (- (* (cos (- y (/ (/ 0.3333333333333333 z) t))) (* 2 (sqrt x))) (/ (/ a b) 3))))

  (- (* (* 2 (sqrt x)) (cos (- y (/ (* z t) 3)))) (/ a (* b 3))))