Average Error: 20.0 → 17.7
Time: 11.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.95709970069839588 \cdot 10^{140}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{{\left(\cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\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)\right)}^{3}} + \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.95709970069839588 \cdot 10^{140}:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{{\left(\cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\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)\right)}^{3}} + \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 r688249 = 2.0;
        double r688250 = x;
        double r688251 = sqrt(r688250);
        double r688252 = r688249 * r688251;
        double r688253 = y;
        double r688254 = z;
        double r688255 = t;
        double r688256 = r688254 * r688255;
        double r688257 = 3.0;
        double r688258 = r688256 / r688257;
        double r688259 = r688253 - r688258;
        double r688260 = cos(r688259);
        double r688261 = r688252 * r688260;
        double r688262 = a;
        double r688263 = b;
        double r688264 = r688263 * r688257;
        double r688265 = r688262 / r688264;
        double r688266 = r688261 - r688265;
        return r688266;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r688267 = 2.0;
        double r688268 = x;
        double r688269 = sqrt(r688268);
        double r688270 = r688267 * r688269;
        double r688271 = y;
        double r688272 = z;
        double r688273 = t;
        double r688274 = r688272 * r688273;
        double r688275 = 3.0;
        double r688276 = r688274 / r688275;
        double r688277 = r688271 - r688276;
        double r688278 = cos(r688277);
        double r688279 = r688270 * r688278;
        double r688280 = 1.957099700698396e+140;
        bool r688281 = r688279 <= r688280;
        double r688282 = cos(r688271);
        double r688283 = cbrt(r688276);
        double r688284 = r688283 * r688283;
        double r688285 = cbrt(r688283);
        double r688286 = r688285 * r688285;
        double r688287 = r688286 * r688285;
        double r688288 = r688284 * r688287;
        double r688289 = cos(r688288);
        double r688290 = 3.0;
        double r688291 = pow(r688289, r688290);
        double r688292 = cbrt(r688291);
        double r688293 = r688282 * r688292;
        double r688294 = sin(r688271);
        double r688295 = sin(r688276);
        double r688296 = r688294 * r688295;
        double r688297 = r688293 + r688296;
        double r688298 = r688270 * r688297;
        double r688299 = a;
        double r688300 = b;
        double r688301 = r688300 * r688275;
        double r688302 = r688299 / r688301;
        double r688303 = r688298 - r688302;
        double r688304 = 1.0;
        double r688305 = 0.5;
        double r688306 = 2.0;
        double r688307 = pow(r688271, r688306);
        double r688308 = r688305 * r688307;
        double r688309 = r688304 - r688308;
        double r688310 = r688270 * r688309;
        double r688311 = r688310 - r688302;
        double r688312 = r688281 ? r688303 : r688311;
        return r688312;
}

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.7
\[\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.957099700698396e+140

    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-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 \sqrt[3]{\frac{z \cdot t}{3}}\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}\]
    8. Using strategy rm
    9. Applied add-cbrt-cube13.5

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \color{blue}{\sqrt[3]{\left(\cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\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) \cdot \cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\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)\right) \cdot \cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\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}\]
    10. Simplified13.5

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{\color{blue}{{\left(\cos \left(\left(\sqrt[3]{\frac{z \cdot t}{3}} \cdot \sqrt[3]{\frac{z \cdot t}{3}}\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)\right)}^{3}}} + \sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right) - \frac{a}{b \cdot 3}\]

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

    1. Initial program 56.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.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. Recombined 2 regimes into one program.
  4. Final simplification17.7

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