x + \frac{\left(y - x\right) \cdot z}{t}x + \frac{y - x}{t} \cdot zdouble f(double x, double y, double z, double t) {
double r297143 = x;
double r297144 = y;
double r297145 = r297144 - r297143;
double r297146 = z;
double r297147 = r297145 * r297146;
double r297148 = t;
double r297149 = r297147 / r297148;
double r297150 = r297143 + r297149;
return r297150;
}
double f(double x, double y, double z, double t) {
double r297151 = x;
double r297152 = y;
double r297153 = r297152 - r297151;
double r297154 = t;
double r297155 = r297153 / r297154;
double r297156 = z;
double r297157 = r297155 * r297156;
double r297158 = r297151 + r297157;
return r297158;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 6.5 |
|---|---|
| Target | 1.9 |
| Herbie | 6.5 |
if (+ x (/ (* (- y x) z) t)) < -inf.0Initial program 64.0
rmApplied associate-/l*0.2
rmApplied associate-/r/0.2
if -inf.0 < (+ x (/ (* (- y x) z) t)) < 1.45883816771774e+305Initial program 0.8
if 1.45883816771774e+305 < (+ x (/ (* (- y x) z) t)) Initial program 60.8
rmApplied associate-/l*0.5
rmApplied clear-num0.6
Final simplification6.5
herbie shell --seed 2019304
(FPCore (x y z t)
:name "Numeric.Histogram:binBounds from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< x -9.0255111955330046e-135) (- x (* (/ z t) (- x y))) (if (< x 4.2750321637007147e-250) (+ x (* (/ (- y x) t) z)) (+ x (/ (- y x) (/ t z)))))
(+ x (/ (* (- y x) z) t)))