\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.995537973235021245:\\
\;\;\;\;\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(-\left(\sqrt[3]{\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}} \cdot \left(\left(\sqrt[3]{\sqrt[3]{\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}}} \cdot \sqrt[3]{\sqrt[3]{\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}}}\right) \cdot \sqrt[3]{\sqrt[3]{\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}}}\right)\right) \cdot \sqrt[3]{\frac{\frac{z \cdot t}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{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 r663469 = 2.0;
double r663470 = x;
double r663471 = sqrt(r663470);
double r663472 = r663469 * r663471;
double r663473 = y;
double r663474 = z;
double r663475 = t;
double r663476 = r663474 * r663475;
double r663477 = 3.0;
double r663478 = r663476 / r663477;
double r663479 = r663473 - r663478;
double r663480 = cos(r663479);
double r663481 = r663472 * r663480;
double r663482 = a;
double r663483 = b;
double r663484 = r663483 * r663477;
double r663485 = r663482 / r663484;
double r663486 = r663481 - r663485;
return r663486;
}
double f(double x, double y, double z, double t, double a, double b) {
double r663487 = y;
double r663488 = z;
double r663489 = t;
double r663490 = r663488 * r663489;
double r663491 = 3.0;
double r663492 = r663490 / r663491;
double r663493 = r663487 - r663492;
double r663494 = cos(r663493);
double r663495 = 0.9955379732350212;
bool r663496 = r663494 <= r663495;
double r663497 = 2.0;
double r663498 = x;
double r663499 = sqrt(r663498);
double r663500 = r663497 * r663499;
double r663501 = cos(r663487);
double r663502 = cbrt(r663491);
double r663503 = r663502 * r663502;
double r663504 = r663490 / r663503;
double r663505 = r663504 / r663502;
double r663506 = cos(r663505);
double r663507 = r663501 * r663506;
double r663508 = sin(r663487);
double r663509 = cbrt(r663505);
double r663510 = cbrt(r663509);
double r663511 = r663510 * r663510;
double r663512 = r663511 * r663510;
double r663513 = r663509 * r663512;
double r663514 = r663513 * r663509;
double r663515 = -r663514;
double r663516 = sin(r663515);
double r663517 = r663508 * r663516;
double r663518 = r663507 - r663517;
double r663519 = r663500 * r663518;
double r663520 = a;
double r663521 = b;
double r663522 = r663521 * r663491;
double r663523 = r663520 / r663522;
double r663524 = r663519 - r663523;
double r663525 = 1.0;
double r663526 = 0.5;
double r663527 = 2.0;
double r663528 = pow(r663487, r663527);
double r663529 = r663526 * r663528;
double r663530 = r663525 - r663529;
double r663531 = r663500 * r663530;
double r663532 = r663531 - r663523;
double r663533 = r663496 ? r663524 : r663532;
return r663533;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a




Bits error versus b
Results
| Original | 21.0 |
|---|---|
| Target | 19.0 |
| Herbie | 18.8 |
if (cos (- y (/ (* z t) 3.0))) < 0.9955379732350212Initial program 20.3
rmApplied add-cube-cbrt20.3
Applied associate-/r*20.2
rmApplied sub-neg20.2
Applied cos-sum19.7
Simplified19.7
rmApplied add-cube-cbrt19.6
rmApplied add-cube-cbrt19.7
if 0.9955379732350212 < (cos (- y (/ (* z t) 3.0))) Initial program 22.1
Taylor expanded around 0 17.5
Final simplification18.8
herbie shell --seed 2020024
(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))))