Average Error: 0.1 → 0.1
Time: 5.6s
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(y + \left(z + z\right)\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(y + \left(z + z\right)\right) + y\right) + t\right) + y \cdot 5
double f(double x, double y, double z, double t) {
        double r173022 = x;
        double r173023 = y;
        double r173024 = z;
        double r173025 = r173023 + r173024;
        double r173026 = r173025 + r173024;
        double r173027 = r173026 + r173023;
        double r173028 = t;
        double r173029 = r173027 + r173028;
        double r173030 = r173022 * r173029;
        double r173031 = 5.0;
        double r173032 = r173023 * r173031;
        double r173033 = r173030 + r173032;
        return r173033;
}

double f(double x, double y, double z, double t) {
        double r173034 = x;
        double r173035 = y;
        double r173036 = z;
        double r173037 = r173036 + r173036;
        double r173038 = r173035 + r173037;
        double r173039 = r173038 + r173035;
        double r173040 = t;
        double r173041 = r173039 + r173040;
        double r173042 = r173034 * r173041;
        double r173043 = 5.0;
        double r173044 = r173035 * r173043;
        double r173045 = r173042 + r173044;
        return r173045;
}

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. Using strategy rm
  3. Applied associate-+l+0.1

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

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

Reproduce

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