\frac{\left(x + y\right) - z}{t \cdot 2}0.5 \cdot \left(\left(\frac{y}{t} + \frac{x}{t}\right) - \frac{z}{t}\right)double f(double x, double y, double z, double t) {
double r31411 = x;
double r31412 = y;
double r31413 = r31411 + r31412;
double r31414 = z;
double r31415 = r31413 - r31414;
double r31416 = t;
double r31417 = 2.0;
double r31418 = r31416 * r31417;
double r31419 = r31415 / r31418;
return r31419;
}
double f(double x, double y, double z, double t) {
double r31420 = 0.5;
double r31421 = y;
double r31422 = t;
double r31423 = r31421 / r31422;
double r31424 = x;
double r31425 = r31424 / r31422;
double r31426 = r31423 + r31425;
double r31427 = z;
double r31428 = r31427 / r31422;
double r31429 = r31426 - r31428;
double r31430 = r31420 * r31429;
return r31430;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 0.0
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020036 +o rules:numerics
(FPCore (x y z t)
:name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, B"
:precision binary64
(/ (- (+ x y) z) (* t 2)))