Average Error: 0.1 → 0.1
Time: 16.5s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
\[y \cdot 5 + \left(2 \cdot \left(y + z\right) + t\right) \cdot x\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
y \cdot 5 + \left(2 \cdot \left(y + z\right) + t\right) \cdot x
double f(double x, double y, double z, double t) {
        double r214457 = x;
        double r214458 = y;
        double r214459 = z;
        double r214460 = r214458 + r214459;
        double r214461 = r214460 + r214459;
        double r214462 = r214461 + r214458;
        double r214463 = t;
        double r214464 = r214462 + r214463;
        double r214465 = r214457 * r214464;
        double r214466 = 5.0;
        double r214467 = r214458 * r214466;
        double r214468 = r214465 + r214467;
        return r214468;
}

double f(double x, double y, double z, double t) {
        double r214469 = y;
        double r214470 = 5.0;
        double r214471 = r214469 * r214470;
        double r214472 = 2.0;
        double r214473 = z;
        double r214474 = r214469 + r214473;
        double r214475 = r214472 * r214474;
        double r214476 = t;
        double r214477 = r214475 + r214476;
        double r214478 = x;
        double r214479 = r214477 * r214478;
        double r214480 = r214471 + r214479;
        return r214480;
}

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. Simplified0.1

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

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

Reproduce

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