Average Error: 0.1 → 0.1
Time: 35.7s
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 r7238820 = x;
        double r7238821 = y;
        double r7238822 = z;
        double r7238823 = r7238821 + r7238822;
        double r7238824 = r7238823 + r7238822;
        double r7238825 = r7238824 + r7238821;
        double r7238826 = t;
        double r7238827 = r7238825 + r7238826;
        double r7238828 = r7238820 * r7238827;
        double r7238829 = 5.0;
        double r7238830 = r7238821 * r7238829;
        double r7238831 = r7238828 + r7238830;
        return r7238831;
}

double f(double x, double y, double z, double t) {
        double r7238832 = 2.0;
        double r7238833 = x;
        double r7238834 = z;
        double r7238835 = r7238833 * r7238834;
        double r7238836 = r7238832 * r7238835;
        double r7238837 = y;
        double r7238838 = r7238833 * r7238837;
        double r7238839 = r7238838 * r7238832;
        double r7238840 = t;
        double r7238841 = r7238833 * r7238840;
        double r7238842 = r7238839 + r7238841;
        double r7238843 = r7238836 + r7238842;
        double r7238844 = 5.0;
        double r7238845 = r7238837 * r7238844;
        double r7238846 = r7238843 + r7238845;
        return r7238846;
}

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