Average Error: 20.7 → 17.9
Time: 23.1s
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 8.139896335094742174168253426990729793648 \cdot 10^{149}:\\ \;\;\;\;\frac{\left(2 \cdot \sqrt{x}\right) \cdot \left({\left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right)}^{3} - {\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right)}^{3}\right)}{\left(\cos \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right) \cdot \cos y\right) \cdot \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) + \left(\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) + \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\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}\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) \le 8.139896335094742174168253426990729793648 \cdot 10^{149}:\\
\;\;\;\;\frac{\left(2 \cdot \sqrt{x}\right) \cdot \left({\left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right)}^{3} - {\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right)}^{3}\right)}{\left(\cos \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right) \cdot \cos y\right) \cdot \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) + \left(\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) + \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\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 r465326 = 2.0;
        double r465327 = x;
        double r465328 = sqrt(r465327);
        double r465329 = r465326 * r465328;
        double r465330 = y;
        double r465331 = z;
        double r465332 = t;
        double r465333 = r465331 * r465332;
        double r465334 = 3.0;
        double r465335 = r465333 / r465334;
        double r465336 = r465330 - r465335;
        double r465337 = cos(r465336);
        double r465338 = r465329 * r465337;
        double r465339 = a;
        double r465340 = b;
        double r465341 = r465340 * r465334;
        double r465342 = r465339 / r465341;
        double r465343 = r465338 - r465342;
        return r465343;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r465344 = 2.0;
        double r465345 = x;
        double r465346 = sqrt(r465345);
        double r465347 = r465344 * r465346;
        double r465348 = y;
        double r465349 = z;
        double r465350 = t;
        double r465351 = r465349 * r465350;
        double r465352 = 3.0;
        double r465353 = r465351 / r465352;
        double r465354 = r465348 - r465353;
        double r465355 = cos(r465354);
        double r465356 = r465347 * r465355;
        double r465357 = 8.139896335094742e+149;
        bool r465358 = r465356 <= r465357;
        double r465359 = cos(r465353);
        double r465360 = cos(r465348);
        double r465361 = r465359 * r465360;
        double r465362 = 3.0;
        double r465363 = pow(r465361, r465362);
        double r465364 = sin(r465348);
        double r465365 = -r465353;
        double r465366 = sin(r465365);
        double r465367 = r465364 * r465366;
        double r465368 = pow(r465367, r465362);
        double r465369 = r465363 - r465368;
        double r465370 = r465347 * r465369;
        double r465371 = 0.3333333333333333;
        double r465372 = r465350 * r465349;
        double r465373 = r465371 * r465372;
        double r465374 = cos(r465373);
        double r465375 = r465374 * r465360;
        double r465376 = r465375 * r465361;
        double r465377 = r465367 * r465367;
        double r465378 = r465361 * r465367;
        double r465379 = r465377 + r465378;
        double r465380 = r465376 + r465379;
        double r465381 = r465370 / r465380;
        double r465382 = a;
        double r465383 = b;
        double r465384 = r465382 / r465383;
        double r465385 = r465384 / r465352;
        double r465386 = r465381 - r465385;
        double r465387 = 1.0;
        double r465388 = 0.5;
        double r465389 = 2.0;
        double r465390 = pow(r465348, r465389);
        double r465391 = r465388 * r465390;
        double r465392 = r465387 - r465391;
        double r465393 = r465347 * r465392;
        double r465394 = r465383 * r465352;
        double r465395 = r465382 / r465394;
        double r465396 = r465393 - r465395;
        double r465397 = r465358 ? r465386 : r465396;
        return r465397;
}

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.7
Target18.7
Herbie17.9
\[\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 2 regimes
  2. if (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) < 8.139896335094742e+149

    1. Initial program 14.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 sub-neg14.6

      \[\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-sum14.0

      \[\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. Simplified14.0

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

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y - \sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) - \color{blue}{\frac{\frac{a}{b}}{3}}\]
    8. Using strategy rm
    9. Applied flip3--14.1

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

      \[\leadsto \color{blue}{\frac{\left(2 \cdot \sqrt{x}\right) \cdot \left({\left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right)}^{3} - {\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right)}^{3}\right)}{\left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) \cdot \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) + \left(\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) + \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right)\right)}} - \frac{\frac{a}{b}}{3}\]
    11. Taylor expanded around inf 14.2

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

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

    1. Initial program 60.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 42.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) \le 8.139896335094742174168253426990729793648 \cdot 10^{149}:\\ \;\;\;\;\frac{\left(2 \cdot \sqrt{x}\right) \cdot \left({\left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right)}^{3} - {\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right)}^{3}\right)}{\left(\cos \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right) \cdot \cos y\right) \cdot \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) + \left(\left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\right) + \left(\cos \left(\frac{z \cdot t}{3}\right) \cdot \cos y\right) \cdot \left(\sin y \cdot \sin \left(-\frac{z \cdot t}{3}\right)\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 2019303 
(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.379333748723514e129) (- (* (* 2 (sqrt x)) (cos (- (/ 1 y) (/ (/ 0.333333333333333315 z) t)))) (/ (/ a 3) b)) (if (< z 3.51629061355598715e106) (- (* (* (sqrt x) 2) (cos (- y (* (/ t 3) z)))) (/ (/ a 3) b)) (- (* (cos (- y (/ (/ 0.333333333333333315 z) t))) (* 2 (sqrt x))) (/ (/ a b) 3))))

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