\frac{\left(\left(x + y\right) \cdot z + \left(t + y\right) \cdot a\right) - y \cdot b}{\left(x + t\right) + y}\begin{array}{l}
\mathbf{if}\;a \le -1.329351671379600395696054258455065074018 \cdot 10^{162}:\\
\;\;\;\;a - y \cdot \frac{b}{\left(x + t\right) + y}\\
\mathbf{elif}\;a \le \frac{2523015234541329}{4.737909217226284592129454005317695786306 \cdot 10^{226}}:\\
\;\;\;\;\frac{\left(x + y\right) \cdot z + \left(t + y\right) \cdot a}{\left(x + t\right) + y} - \frac{y}{\sqrt[3]{\left(x + t\right) + y} \cdot \sqrt[3]{\left(x + t\right) + y}} \cdot \frac{b}{\sqrt[3]{\left(x + t\right) + y}}\\
\mathbf{elif}\;a \le \frac{6133953907186681}{3.213876088517980551083924184682325205044 \cdot 10^{60}}:\\
\;\;\;\;z - y \cdot \frac{b}{\left(x + t\right) + y}\\
\mathbf{elif}\;a \le 1.978965818958528848241507275261864808485 \cdot 10^{164}:\\
\;\;\;\;\frac{\left(x + y\right) \cdot z + \left(t + y\right) \cdot a}{\left(x + t\right) + y} - \frac{y}{\frac{\left(x + t\right) + y}{b}}\\
\mathbf{else}:\\
\;\;\;\;a - y \cdot \frac{b}{\left(x + t\right) + y}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r701394 = x;
double r701395 = y;
double r701396 = r701394 + r701395;
double r701397 = z;
double r701398 = r701396 * r701397;
double r701399 = t;
double r701400 = r701399 + r701395;
double r701401 = a;
double r701402 = r701400 * r701401;
double r701403 = r701398 + r701402;
double r701404 = b;
double r701405 = r701395 * r701404;
double r701406 = r701403 - r701405;
double r701407 = r701394 + r701399;
double r701408 = r701407 + r701395;
double r701409 = r701406 / r701408;
return r701409;
}
double f(double x, double y, double z, double t, double a, double b) {
double r701410 = a;
double r701411 = -1.3293516713796004e+162;
bool r701412 = r701410 <= r701411;
double r701413 = y;
double r701414 = b;
double r701415 = x;
double r701416 = t;
double r701417 = r701415 + r701416;
double r701418 = r701417 + r701413;
double r701419 = r701414 / r701418;
double r701420 = r701413 * r701419;
double r701421 = r701410 - r701420;
double r701422 = 2523015234541329.0;
double r701423 = 4.737909217226285e+226;
double r701424 = r701422 / r701423;
bool r701425 = r701410 <= r701424;
double r701426 = r701415 + r701413;
double r701427 = z;
double r701428 = r701426 * r701427;
double r701429 = r701416 + r701413;
double r701430 = r701429 * r701410;
double r701431 = r701428 + r701430;
double r701432 = r701431 / r701418;
double r701433 = cbrt(r701418);
double r701434 = r701433 * r701433;
double r701435 = r701413 / r701434;
double r701436 = r701414 / r701433;
double r701437 = r701435 * r701436;
double r701438 = r701432 - r701437;
double r701439 = 6133953907186681.0;
double r701440 = 3.2138760885179806e+60;
double r701441 = r701439 / r701440;
bool r701442 = r701410 <= r701441;
double r701443 = r701427 - r701420;
double r701444 = 1.9789658189585288e+164;
bool r701445 = r701410 <= r701444;
double r701446 = r701418 / r701414;
double r701447 = r701413 / r701446;
double r701448 = r701432 - r701447;
double r701449 = r701445 ? r701448 : r701421;
double r701450 = r701442 ? r701443 : r701449;
double r701451 = r701425 ? r701438 : r701450;
double r701452 = r701412 ? r701421 : r701451;
return r701452;
}




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 | 26.3 |
|---|---|
| Target | 11.6 |
| Herbie | 20.6 |
if a < -1.3293516713796004e+162 or 1.9789658189585288e+164 < a Initial program 42.9
rmApplied div-sub42.9
rmApplied *-un-lft-identity42.9
Applied times-frac43.6
Simplified43.6
Taylor expanded around 0 25.0
if -1.3293516713796004e+162 < a < 5.325165846082586e-212Initial program 20.3
rmApplied div-sub20.3
rmApplied *-un-lft-identity20.3
Applied times-frac17.5
Simplified17.5
rmApplied add-cube-cbrt17.7
Applied *-un-lft-identity17.7
Applied times-frac17.7
Applied associate-*r*16.9
Simplified16.9
if 5.325165846082586e-212 < a < 1.908584443905938e-45Initial program 18.8
rmApplied div-sub18.8
rmApplied *-un-lft-identity18.8
Applied times-frac15.4
Simplified15.4
Taylor expanded around inf 22.0
if 1.908584443905938e-45 < a < 1.9789658189585288e+164Initial program 26.4
rmApplied div-sub26.4
rmApplied associate-/l*23.7
Final simplification20.6
herbie shell --seed 2019303
(FPCore (x y z t a b)
:name "AI.Clustering.Hierarchical.Internal:ward from clustering-0.2.1"
:precision binary64
:herbie-target
(if (< (/ (- (+ (* (+ x y) z) (* (+ t y) a)) (* y b)) (+ (+ x t) y)) -3.5813117084150564e153) (- (+ z a) b) (if (< (/ (- (+ (* (+ x y) z) (* (+ t y) a)) (* y b)) (+ (+ x t) y)) 1.2285964308315609e82) (/ 1 (/ (+ (+ x t) y) (- (+ (* (+ x y) z) (* (+ t y) a)) (* y b)))) (- (+ z a) b)))
(/ (- (+ (* (+ x y) z) (* (+ t y) a)) (* y b)) (+ (+ x t) y)))