Average Error: 0.1 → 0.1
Time: 23.0s
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 r181169 = x;
        double r181170 = y;
        double r181171 = z;
        double r181172 = r181170 + r181171;
        double r181173 = r181172 + r181171;
        double r181174 = r181173 + r181170;
        double r181175 = t;
        double r181176 = r181174 + r181175;
        double r181177 = r181169 * r181176;
        double r181178 = 5.0;
        double r181179 = r181170 * r181178;
        double r181180 = r181177 + r181179;
        return r181180;
}

double f(double x, double y, double z, double t) {
        double r181181 = y;
        double r181182 = 5.0;
        double r181183 = r181181 * r181182;
        double r181184 = 2.0;
        double r181185 = z;
        double r181186 = r181181 + r181185;
        double r181187 = r181184 * r181186;
        double r181188 = t;
        double r181189 = r181187 + r181188;
        double r181190 = x;
        double r181191 = r181189 * r181190;
        double r181192 = r181183 + r181191;
        return r181192;
}

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