Average Error: 0.1 → 0.1
Time: 36.3s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5.0\]
\[\left(2 \cdot \left(x \cdot z\right) + \left(\left(x \cdot y\right) \cdot 2 + x \cdot t\right)\right) + y \cdot 5.0\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5.0
\left(2 \cdot \left(x \cdot z\right) + \left(\left(x \cdot y\right) \cdot 2 + x \cdot t\right)\right) + y \cdot 5.0
double f(double x, double y, double z, double t) {
        double r9511677 = x;
        double r9511678 = y;
        double r9511679 = z;
        double r9511680 = r9511678 + r9511679;
        double r9511681 = r9511680 + r9511679;
        double r9511682 = r9511681 + r9511678;
        double r9511683 = t;
        double r9511684 = r9511682 + r9511683;
        double r9511685 = r9511677 * r9511684;
        double r9511686 = 5.0;
        double r9511687 = r9511678 * r9511686;
        double r9511688 = r9511685 + r9511687;
        return r9511688;
}

double f(double x, double y, double z, double t) {
        double r9511689 = 2.0;
        double r9511690 = x;
        double r9511691 = z;
        double r9511692 = r9511690 * r9511691;
        double r9511693 = r9511689 * r9511692;
        double r9511694 = y;
        double r9511695 = r9511690 * r9511694;
        double r9511696 = r9511695 * r9511689;
        double r9511697 = t;
        double r9511698 = r9511690 * r9511697;
        double r9511699 = r9511696 + r9511698;
        double r9511700 = r9511693 + r9511699;
        double r9511701 = 5.0;
        double r9511702 = r9511694 * r9511701;
        double r9511703 = r9511700 + r9511702;
        return r9511703;
}

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.0\]
  2. Simplified0.1

    \[\leadsto \color{blue}{y \cdot 5.0 + \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.0 + \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.0\]

Reproduce

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