Average Error: 0.1 → 0.1
Time: 22.8s
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(x \cdot z\right) + \left(t \cdot x + 2 \cdot \left(x \cdot y\right)\right)\right)\]
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(x \cdot z\right) + \left(t \cdot x + 2 \cdot \left(x \cdot y\right)\right)\right)
double f(double x, double y, double z, double t) {
        double r13103959 = x;
        double r13103960 = y;
        double r13103961 = z;
        double r13103962 = r13103960 + r13103961;
        double r13103963 = r13103962 + r13103961;
        double r13103964 = r13103963 + r13103960;
        double r13103965 = t;
        double r13103966 = r13103964 + r13103965;
        double r13103967 = r13103959 * r13103966;
        double r13103968 = 5.0;
        double r13103969 = r13103960 * r13103968;
        double r13103970 = r13103967 + r13103969;
        return r13103970;
}

double f(double x, double y, double z, double t) {
        double r13103971 = y;
        double r13103972 = 5.0;
        double r13103973 = r13103971 * r13103972;
        double r13103974 = 2.0;
        double r13103975 = x;
        double r13103976 = z;
        double r13103977 = r13103975 * r13103976;
        double r13103978 = r13103974 * r13103977;
        double r13103979 = t;
        double r13103980 = r13103979 * r13103975;
        double r13103981 = r13103975 * r13103971;
        double r13103982 = r13103974 * r13103981;
        double r13103983 = r13103980 + r13103982;
        double r13103984 = r13103978 + r13103983;
        double r13103985 = r13103973 + r13103984;
        return r13103985;
}

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 y \cdot 5 + \left(2 \cdot \left(x \cdot z\right) + \left(t \cdot x + 2 \cdot \left(x \cdot y\right)\right)\right)\]

Reproduce

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