Average Error: 0.1 → 0.1
Time: 15.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 r2872795 = x;
        double r2872796 = y;
        double r2872797 = z;
        double r2872798 = r2872796 + r2872797;
        double r2872799 = r2872798 + r2872797;
        double r2872800 = r2872799 + r2872796;
        double r2872801 = t;
        double r2872802 = r2872800 + r2872801;
        double r2872803 = r2872795 * r2872802;
        double r2872804 = 5.0;
        double r2872805 = r2872796 * r2872804;
        double r2872806 = r2872803 + r2872805;
        return r2872806;
}

double f(double x, double y, double z, double t) {
        double r2872807 = 2.0;
        double r2872808 = x;
        double r2872809 = z;
        double r2872810 = r2872808 * r2872809;
        double r2872811 = r2872807 * r2872810;
        double r2872812 = y;
        double r2872813 = r2872808 * r2872812;
        double r2872814 = r2872813 * r2872807;
        double r2872815 = t;
        double r2872816 = r2872808 * r2872815;
        double r2872817 = r2872814 + r2872816;
        double r2872818 = r2872811 + r2872817;
        double r2872819 = 5.0;
        double r2872820 = r2872812 * r2872819;
        double r2872821 = r2872818 + r2872820;
        return r2872821;
}

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