Average Error: 0.1 → 0.1
Time: 26.7s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
\[\left(t + \left(\left(y + z\right) + \left(y + z\right)\right)\right) \cdot x + y \cdot 5\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
\left(t + \left(\left(y + z\right) + \left(y + z\right)\right)\right) \cdot x + y \cdot 5
double f(double x, double y, double z, double t) {
        double r9026056 = x;
        double r9026057 = y;
        double r9026058 = z;
        double r9026059 = r9026057 + r9026058;
        double r9026060 = r9026059 + r9026058;
        double r9026061 = r9026060 + r9026057;
        double r9026062 = t;
        double r9026063 = r9026061 + r9026062;
        double r9026064 = r9026056 * r9026063;
        double r9026065 = 5.0;
        double r9026066 = r9026057 * r9026065;
        double r9026067 = r9026064 + r9026066;
        return r9026067;
}

double f(double x, double y, double z, double t) {
        double r9026068 = t;
        double r9026069 = y;
        double r9026070 = z;
        double r9026071 = r9026069 + r9026070;
        double r9026072 = r9026071 + r9026071;
        double r9026073 = r9026068 + r9026072;
        double r9026074 = x;
        double r9026075 = r9026073 * r9026074;
        double r9026076 = 5.0;
        double r9026077 = r9026069 * r9026076;
        double r9026078 = r9026075 + r9026077;
        return r9026078;
}

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. Simplified0.1

    \[\leadsto \color{blue}{y \cdot 5 + x \cdot \left(\left(\left(y + z\right) + \left(y + z\right)\right) + t\right)}\]
  3. Final simplification0.1

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

Reproduce

herbie shell --seed 2019192 
(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)))