\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}\;z \cdot t = -\infty \lor \neg \left(z \cdot t \le 9.710637111596279340362321401812195925565 \cdot 10^{270}\right):\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right)\right) + \left(\sqrt[3]{\left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right)\right)} \cdot \sqrt[3]{\left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right)\right)}\right) - \frac{a}{b \cdot 3}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r831359 = 2.0;
double r831360 = x;
double r831361 = sqrt(r831360);
double r831362 = r831359 * r831361;
double r831363 = y;
double r831364 = z;
double r831365 = t;
double r831366 = r831364 * r831365;
double r831367 = 3.0;
double r831368 = r831366 / r831367;
double r831369 = r831363 - r831368;
double r831370 = cos(r831369);
double r831371 = r831362 * r831370;
double r831372 = a;
double r831373 = b;
double r831374 = r831373 * r831367;
double r831375 = r831372 / r831374;
double r831376 = r831371 - r831375;
return r831376;
}
double f(double x, double y, double z, double t, double a, double b) {
double r831377 = z;
double r831378 = t;
double r831379 = r831377 * r831378;
double r831380 = -inf.0;
bool r831381 = r831379 <= r831380;
double r831382 = 9.71063711159628e+270;
bool r831383 = r831379 <= r831382;
double r831384 = !r831383;
bool r831385 = r831381 || r831384;
double r831386 = 2.0;
double r831387 = x;
double r831388 = sqrt(r831387);
double r831389 = r831386 * r831388;
double r831390 = 1.0;
double r831391 = 0.5;
double r831392 = y;
double r831393 = 2.0;
double r831394 = pow(r831392, r831393);
double r831395 = r831391 * r831394;
double r831396 = r831390 - r831395;
double r831397 = r831389 * r831396;
double r831398 = a;
double r831399 = b;
double r831400 = 3.0;
double r831401 = r831399 * r831400;
double r831402 = r831398 / r831401;
double r831403 = r831397 - r831402;
double r831404 = cos(r831392);
double r831405 = 0.3333333333333333;
double r831406 = r831378 * r831377;
double r831407 = r831405 * r831406;
double r831408 = cos(r831407);
double r831409 = r831404 * r831408;
double r831410 = r831389 * r831409;
double r831411 = sin(r831392);
double r831412 = sin(r831407);
double r831413 = r831411 * r831412;
double r831414 = r831389 * r831413;
double r831415 = cbrt(r831414);
double r831416 = r831415 * r831415;
double r831417 = r831416 * r831415;
double r831418 = r831410 + r831417;
double r831419 = r831418 - r831402;
double r831420 = r831385 ? r831403 : r831419;
return r831420;
}




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 | 20.9 |
|---|---|
| Target | 18.7 |
| Herbie | 18.3 |
if (* z t) < -inf.0 or 9.71063711159628e+270 < (* z t) Initial program 60.7
Taylor expanded around 0 45.3
if -inf.0 < (* z t) < 9.71063711159628e+270Initial program 14.5
rmApplied cos-diff13.9
Applied distribute-lft-in13.9
Taylor expanded around inf 13.9
Taylor expanded around inf 13.9
rmApplied add-cube-cbrt13.9
Final simplification18.3
herbie shell --seed 2019353
(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))))