Average Error: 0.1 → 0.1
Time: 1.5m
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 r8027247 = x;
        double r8027248 = y;
        double r8027249 = z;
        double r8027250 = r8027248 + r8027249;
        double r8027251 = r8027250 + r8027249;
        double r8027252 = r8027251 + r8027248;
        double r8027253 = t;
        double r8027254 = r8027252 + r8027253;
        double r8027255 = r8027247 * r8027254;
        double r8027256 = 5.0;
        double r8027257 = r8027248 * r8027256;
        double r8027258 = r8027255 + r8027257;
        return r8027258;
}

double f(double x, double y, double z, double t) {
        double r8027259 = y;
        double r8027260 = 5.0;
        double r8027261 = r8027259 * r8027260;
        double r8027262 = z;
        double r8027263 = r8027259 + r8027262;
        double r8027264 = r8027263 + r8027262;
        double r8027265 = r8027259 + r8027264;
        double r8027266 = t;
        double r8027267 = r8027265 + r8027266;
        double r8027268 = x;
        double r8027269 = r8027267 * r8027268;
        double r8027270 = r8027261 + r8027269;
        return r8027270;
}

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