Average Error: 0.1 → 0.1
Time: 20.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 r136165 = x;
        double r136166 = y;
        double r136167 = z;
        double r136168 = r136166 + r136167;
        double r136169 = r136168 + r136167;
        double r136170 = r136169 + r136166;
        double r136171 = t;
        double r136172 = r136170 + r136171;
        double r136173 = r136165 * r136172;
        double r136174 = 5.0;
        double r136175 = r136166 * r136174;
        double r136176 = r136173 + r136175;
        return r136176;
}

double f(double x, double y, double z, double t) {
        double r136177 = x;
        double r136178 = y;
        double r136179 = z;
        double r136180 = r136178 + r136179;
        double r136181 = r136180 + r136179;
        double r136182 = r136181 + r136178;
        double r136183 = t;
        double r136184 = r136182 + r136183;
        double r136185 = r136177 * r136184;
        double r136186 = 5.0;
        double r136187 = r136178 * r136186;
        double r136188 = r136185 + r136187;
        return r136188;
}

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