Average Error: 0.1 → 0.1
Time: 28.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(\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 r112475 = x;
        double r112476 = y;
        double r112477 = z;
        double r112478 = r112476 + r112477;
        double r112479 = r112478 + r112477;
        double r112480 = r112479 + r112476;
        double r112481 = t;
        double r112482 = r112480 + r112481;
        double r112483 = r112475 * r112482;
        double r112484 = 5.0;
        double r112485 = r112476 * r112484;
        double r112486 = r112483 + r112485;
        return r112486;
}

double f(double x, double y, double z, double t) {
        double r112487 = x;
        double r112488 = y;
        double r112489 = z;
        double r112490 = r112488 + r112489;
        double r112491 = r112490 + r112489;
        double r112492 = r112491 + r112488;
        double r112493 = t;
        double r112494 = r112492 + r112493;
        double r112495 = r112487 * r112494;
        double r112496 = 5.0;
        double r112497 = r112488 * r112496;
        double r112498 = r112495 + r112497;
        return r112498;
}

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