Average Error: 0.1 → 0.1
Time: 23.5s
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 r176730 = x;
        double r176731 = y;
        double r176732 = z;
        double r176733 = r176731 + r176732;
        double r176734 = r176733 + r176732;
        double r176735 = r176734 + r176731;
        double r176736 = t;
        double r176737 = r176735 + r176736;
        double r176738 = r176730 * r176737;
        double r176739 = 5.0;
        double r176740 = r176731 * r176739;
        double r176741 = r176738 + r176740;
        return r176741;
}

double f(double x, double y, double z, double t) {
        double r176742 = x;
        double r176743 = y;
        double r176744 = z;
        double r176745 = r176743 + r176744;
        double r176746 = r176745 + r176744;
        double r176747 = r176746 + r176743;
        double r176748 = t;
        double r176749 = r176747 + r176748;
        double r176750 = r176742 * r176749;
        double r176751 = 5.0;
        double r176752 = r176743 * r176751;
        double r176753 = r176750 + r176752;
        return r176753;
}

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