Average Error: 0.1 → 0.1
Time: 24.0s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
double f(double x, double y, double z, double t) {
        double r137268 = x;
        double r137269 = y;
        double r137270 = z;
        double r137271 = r137269 + r137270;
        double r137272 = r137271 + r137270;
        double r137273 = r137272 + r137269;
        double r137274 = t;
        double r137275 = r137273 + r137274;
        double r137276 = r137268 * r137275;
        double r137277 = 5.0;
        double r137278 = r137269 * r137277;
        double r137279 = r137276 + r137278;
        return r137279;
}

double f(double x, double y, double z, double t) {
        double r137280 = x;
        double r137281 = y;
        double r137282 = z;
        double r137283 = r137281 + r137282;
        double r137284 = r137283 + r137282;
        double r137285 = r137284 + r137281;
        double r137286 = t;
        double r137287 = r137285 + r137286;
        double r137288 = r137280 * r137287;
        double r137289 = 5.0;
        double r137290 = r137281 * r137289;
        double r137291 = r137288 + r137290;
        return r137291;
}

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\]
  2. Final simplification0.1

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

Reproduce

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