\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;
}




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.7 |
|---|---|
| Target | 18.7 |
| Herbie | 17.9 |
if (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) < 8.139896335094742e+149Initial program 14.6
rmApplied sub-neg14.6
Applied cos-sum14.0
Simplified14.0
rmApplied associate-/r*14.1
rmApplied flip3--14.1
Applied associate-*r/14.1
Taylor expanded around inf 14.2
if 8.139896335094742e+149 < (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) Initial program 60.9
Taylor expanded around 0 42.3
Final simplification17.9
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))))