Average Error: 0.1 → 0.1
Time: 41.6s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
\[\left(2 \cdot \left(x \cdot z\right) + \left(\left(x \cdot y\right) \cdot 2 + x \cdot t\right)\right) + y \cdot 5\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
\left(2 \cdot \left(x \cdot z\right) + \left(\left(x \cdot y\right) \cdot 2 + x \cdot t\right)\right) + y \cdot 5
double f(double x, double y, double z, double t) {
        double r8337339 = x;
        double r8337340 = y;
        double r8337341 = z;
        double r8337342 = r8337340 + r8337341;
        double r8337343 = r8337342 + r8337341;
        double r8337344 = r8337343 + r8337340;
        double r8337345 = t;
        double r8337346 = r8337344 + r8337345;
        double r8337347 = r8337339 * r8337346;
        double r8337348 = 5.0;
        double r8337349 = r8337340 * r8337348;
        double r8337350 = r8337347 + r8337349;
        return r8337350;
}

double f(double x, double y, double z, double t) {
        double r8337351 = 2.0;
        double r8337352 = x;
        double r8337353 = z;
        double r8337354 = r8337352 * r8337353;
        double r8337355 = r8337351 * r8337354;
        double r8337356 = y;
        double r8337357 = r8337352 * r8337356;
        double r8337358 = r8337357 * r8337351;
        double r8337359 = t;
        double r8337360 = r8337352 * r8337359;
        double r8337361 = r8337358 + r8337360;
        double r8337362 = r8337355 + r8337361;
        double r8337363 = 5.0;
        double r8337364 = r8337356 * r8337363;
        double r8337365 = r8337362 + r8337364;
        return r8337365;
}

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(\left(\left(y + z\right) + \left(y + z\right)\right) + t\right) \cdot x}\]
  3. Taylor expanded around inf 0.1

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

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

Reproduce

herbie shell --seed 2019170 
(FPCore (x y z t)
  :name "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendOutside from plot-0.2.3.4, B"
  (+ (* x (+ (+ (+ (+ y z) z) y) t)) (* y 5.0)))