Average Error: 0.1 → 0.1
Time: 13.3s
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(y + z\right) + t\right) \cdot x\]
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(y + z\right) + t\right) \cdot x
double f(double x, double y, double z, double t) {
        double r233959 = x;
        double r233960 = y;
        double r233961 = z;
        double r233962 = r233960 + r233961;
        double r233963 = r233962 + r233961;
        double r233964 = r233963 + r233960;
        double r233965 = t;
        double r233966 = r233964 + r233965;
        double r233967 = r233959 * r233966;
        double r233968 = 5.0;
        double r233969 = r233960 * r233968;
        double r233970 = r233967 + r233969;
        return r233970;
}

double f(double x, double y, double z, double t) {
        double r233971 = y;
        double r233972 = 5.0;
        double r233973 = r233971 * r233972;
        double r233974 = 2.0;
        double r233975 = z;
        double r233976 = r233971 + r233975;
        double r233977 = r233974 * r233976;
        double r233978 = t;
        double r233979 = r233977 + r233978;
        double r233980 = x;
        double r233981 = r233979 * r233980;
        double r233982 = r233973 + r233981;
        return r233982;
}

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(2 \cdot \left(y + z\right) + t\right) \cdot x}\]
  3. Final simplification0.1

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

Reproduce

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