Average Error: 0.1 → 0.1
Time: 19.1s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5.0\]
\[y \cdot 5.0 + \left(\left(y + \left(\left(y + z\right) + z\right)\right) + t\right) \cdot x\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5.0
y \cdot 5.0 + \left(\left(y + \left(\left(y + z\right) + z\right)\right) + t\right) \cdot x
double f(double x, double y, double z, double t) {
        double r6734435 = x;
        double r6734436 = y;
        double r6734437 = z;
        double r6734438 = r6734436 + r6734437;
        double r6734439 = r6734438 + r6734437;
        double r6734440 = r6734439 + r6734436;
        double r6734441 = t;
        double r6734442 = r6734440 + r6734441;
        double r6734443 = r6734435 * r6734442;
        double r6734444 = 5.0;
        double r6734445 = r6734436 * r6734444;
        double r6734446 = r6734443 + r6734445;
        return r6734446;
}

double f(double x, double y, double z, double t) {
        double r6734447 = y;
        double r6734448 = 5.0;
        double r6734449 = r6734447 * r6734448;
        double r6734450 = z;
        double r6734451 = r6734447 + r6734450;
        double r6734452 = r6734451 + r6734450;
        double r6734453 = r6734447 + r6734452;
        double r6734454 = t;
        double r6734455 = r6734453 + r6734454;
        double r6734456 = x;
        double r6734457 = r6734455 * r6734456;
        double r6734458 = r6734449 + r6734457;
        return r6734458;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5.0\]
  2. Final simplification0.1

    \[\leadsto y \cdot 5.0 + \left(\left(y + \left(\left(y + z\right) + z\right)\right) + t\right) \cdot x\]

Reproduce

herbie shell --seed 2019165 
(FPCore (x y z t)
  :name "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendOutside from plot-0.2.3.4, B"
  (+ (* x (+ (+ (+ (+ y z) z) y) t)) (* y 5.0)))