Average Error: 20.9 → 18.4
Time: 11.7s
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}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.9999929107336669:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}\right) + \sin y \cdot \sin \left(\frac{z}{\frac{3}{t}}\right)\right) - \frac{\frac{a}{b}}{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}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.9999929107336669:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}\right) + \sin y \cdot \sin \left(\frac{z}{\frac{3}{t}}\right)\right) - \frac{\frac{a}{b}}{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 r880080 = 2.0;
        double r880081 = x;
        double r880082 = sqrt(r880081);
        double r880083 = r880080 * r880082;
        double r880084 = y;
        double r880085 = z;
        double r880086 = t;
        double r880087 = r880085 * r880086;
        double r880088 = 3.0;
        double r880089 = r880087 / r880088;
        double r880090 = r880084 - r880089;
        double r880091 = cos(r880090);
        double r880092 = r880083 * r880091;
        double r880093 = a;
        double r880094 = b;
        double r880095 = r880094 * r880088;
        double r880096 = r880093 / r880095;
        double r880097 = r880092 - r880096;
        return r880097;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r880098 = y;
        double r880099 = z;
        double r880100 = t;
        double r880101 = r880099 * r880100;
        double r880102 = 3.0;
        double r880103 = r880101 / r880102;
        double r880104 = r880098 - r880103;
        double r880105 = cos(r880104);
        double r880106 = 0.9999929107336669;
        bool r880107 = r880105 <= r880106;
        double r880108 = 2.0;
        double r880109 = x;
        double r880110 = sqrt(r880109);
        double r880111 = r880108 * r880110;
        double r880112 = cos(r880098);
        double r880113 = cbrt(r880102);
        double r880114 = r880113 * r880113;
        double r880115 = r880101 / r880114;
        double r880116 = r880115 / r880113;
        double r880117 = cos(r880116);
        double r880118 = r880112 * r880117;
        double r880119 = sin(r880098);
        double r880120 = r880102 / r880100;
        double r880121 = r880099 / r880120;
        double r880122 = sin(r880121);
        double r880123 = r880119 * r880122;
        double r880124 = r880118 + r880123;
        double r880125 = r880111 * r880124;
        double r880126 = a;
        double r880127 = b;
        double r880128 = r880126 / r880127;
        double r880129 = r880128 / r880102;
        double r880130 = r880125 - r880129;
        double r880131 = 1.0;
        double r880132 = 0.5;
        double r880133 = 2.0;
        double r880134 = pow(r880098, r880133);
        double r880135 = r880132 * r880134;
        double r880136 = r880131 - r880135;
        double r880137 = r880111 * r880136;
        double r880138 = r880127 * r880102;
        double r880139 = r880126 / r880138;
        double r880140 = r880137 - r880139;
        double r880141 = r880107 ? r880130 : r880140;
        return r880141;
}

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.9
Target19.1
Herbie18.4
\[\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 (cos (- y (/ (* z t) 3.0))) < 0.9999929107336669

    1. Initial program 20.3

      \[\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-diff19.7

      \[\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 associate-/l*19.7

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

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{z \cdot t}{\color{blue}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}}}\right) + \sin y \cdot \sin \left(\frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{b \cdot 3}\]
    8. Applied associate-/r*19.7

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \color{blue}{\left(\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}\right)} + \sin y \cdot \sin \left(\frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{b \cdot 3}\]
    9. Using strategy rm
    10. Applied associate-/r*19.7

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

    if 0.9999929107336669 < (cos (- y (/ (* z t) 3.0)))

    1. Initial program 21.9

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

      \[\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 simplification18.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.9999929107336669:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}\right) + \sin y \cdot \sin \left(\frac{z}{\frac{3}{t}}\right)\right) - \frac{\frac{a}{b}}{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 2020036 
(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))))