Average Error: 0.1 → 0.1
Time: 6.1s
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 r235291 = x;
        double r235292 = y;
        double r235293 = z;
        double r235294 = r235292 + r235293;
        double r235295 = r235294 + r235293;
        double r235296 = r235295 + r235292;
        double r235297 = t;
        double r235298 = r235296 + r235297;
        double r235299 = r235291 * r235298;
        double r235300 = 5.0;
        double r235301 = r235292 * r235300;
        double r235302 = r235299 + r235301;
        return r235302;
}

double f(double x, double y, double z, double t) {
        double r235303 = x;
        double r235304 = y;
        double r235305 = z;
        double r235306 = r235304 + r235305;
        double r235307 = r235306 + r235305;
        double r235308 = r235307 + r235304;
        double r235309 = t;
        double r235310 = r235308 + r235309;
        double r235311 = r235303 * r235310;
        double r235312 = 5.0;
        double r235313 = r235304 * r235312;
        double r235314 = r235311 + r235313;
        return r235314;
}

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 2020065 
(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)))