Average Error: 0.1 → 0.1
Time: 22.4s
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
\[\left(\left(x \cdot y\right) \cdot 2 + \left(z \cdot 2 + t\right) \cdot x\right) + y \cdot 5\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
\left(\left(x \cdot y\right) \cdot 2 + \left(z \cdot 2 + t\right) \cdot x\right) + y \cdot 5
double f(double x, double y, double z, double t) {
        double r10065097 = x;
        double r10065098 = y;
        double r10065099 = z;
        double r10065100 = r10065098 + r10065099;
        double r10065101 = r10065100 + r10065099;
        double r10065102 = r10065101 + r10065098;
        double r10065103 = t;
        double r10065104 = r10065102 + r10065103;
        double r10065105 = r10065097 * r10065104;
        double r10065106 = 5.0;
        double r10065107 = r10065098 * r10065106;
        double r10065108 = r10065105 + r10065107;
        return r10065108;
}

double f(double x, double y, double z, double t) {
        double r10065109 = x;
        double r10065110 = y;
        double r10065111 = r10065109 * r10065110;
        double r10065112 = 2.0;
        double r10065113 = r10065111 * r10065112;
        double r10065114 = z;
        double r10065115 = r10065114 * r10065112;
        double r10065116 = t;
        double r10065117 = r10065115 + r10065116;
        double r10065118 = r10065117 * r10065109;
        double r10065119 = r10065113 + r10065118;
        double r10065120 = 5.0;
        double r10065121 = r10065110 * r10065120;
        double r10065122 = r10065119 + r10065121;
        return r10065122;
}

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 + x \cdot \left(\left(\left(y + z\right) + \left(y + z\right)\right) + t\right)}\]
  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. Using strategy rm
  5. Applied associate-+r+0.1

    \[\leadsto y \cdot 5 + \color{blue}{\left(\left(2 \cdot \left(x \cdot z\right) + t \cdot x\right) + 2 \cdot \left(x \cdot y\right)\right)}\]
  6. Simplified0.1

    \[\leadsto y \cdot 5 + \left(\color{blue}{x \cdot \left(t + z \cdot 2\right)} + 2 \cdot \left(x \cdot y\right)\right)\]
  7. Final simplification0.1

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

Reproduce

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