Average Error: 0.1 → 0.1
Time: 11.2s
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 r147550 = x;
        double r147551 = y;
        double r147552 = z;
        double r147553 = r147551 + r147552;
        double r147554 = r147553 + r147552;
        double r147555 = r147554 + r147551;
        double r147556 = t;
        double r147557 = r147555 + r147556;
        double r147558 = r147550 * r147557;
        double r147559 = 5.0;
        double r147560 = r147551 * r147559;
        double r147561 = r147558 + r147560;
        return r147561;
}

double f(double x, double y, double z, double t) {
        double r147562 = x;
        double r147563 = y;
        double r147564 = z;
        double r147565 = r147563 + r147564;
        double r147566 = r147565 + r147564;
        double r147567 = r147566 + r147563;
        double r147568 = t;
        double r147569 = r147567 + r147568;
        double r147570 = r147562 * r147569;
        double r147571 = 5.0;
        double r147572 = r147563 * r147571;
        double r147573 = r147570 + r147572;
        return r147573;
}

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