Average Error: 0.1 → 0.1
Time: 19.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 r114428 = x;
        double r114429 = y;
        double r114430 = z;
        double r114431 = r114429 + r114430;
        double r114432 = r114431 + r114430;
        double r114433 = r114432 + r114429;
        double r114434 = t;
        double r114435 = r114433 + r114434;
        double r114436 = r114428 * r114435;
        double r114437 = 5.0;
        double r114438 = r114429 * r114437;
        double r114439 = r114436 + r114438;
        return r114439;
}

double f(double x, double y, double z, double t) {
        double r114440 = y;
        double r114441 = 5.0;
        double r114442 = r114440 * r114441;
        double r114443 = 2.0;
        double r114444 = z;
        double r114445 = r114440 + r114444;
        double r114446 = r114443 * r114445;
        double r114447 = t;
        double r114448 = r114446 + r114447;
        double r114449 = x;
        double r114450 = r114448 * r114449;
        double r114451 = r114442 + r114450;
        return r114451;
}

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