Average Error: 0.1 → 0.1
Time: 1.3m
Precision: 64
\[x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5\]
\[\left(2 \cdot \left(x \cdot z\right) + \left(\left(x \cdot y\right) \cdot 2 + x \cdot t\right)\right) + y \cdot 5\]
x \cdot \left(\left(\left(\left(y + z\right) + z\right) + y\right) + t\right) + y \cdot 5
\left(2 \cdot \left(x \cdot z\right) + \left(\left(x \cdot y\right) \cdot 2 + x \cdot t\right)\right) + y \cdot 5
double f(double x, double y, double z, double t) {
        double r6511549 = x;
        double r6511550 = y;
        double r6511551 = z;
        double r6511552 = r6511550 + r6511551;
        double r6511553 = r6511552 + r6511551;
        double r6511554 = r6511553 + r6511550;
        double r6511555 = t;
        double r6511556 = r6511554 + r6511555;
        double r6511557 = r6511549 * r6511556;
        double r6511558 = 5.0;
        double r6511559 = r6511550 * r6511558;
        double r6511560 = r6511557 + r6511559;
        return r6511560;
}

double f(double x, double y, double z, double t) {
        double r6511561 = 2.0;
        double r6511562 = x;
        double r6511563 = z;
        double r6511564 = r6511562 * r6511563;
        double r6511565 = r6511561 * r6511564;
        double r6511566 = y;
        double r6511567 = r6511562 * r6511566;
        double r6511568 = r6511567 * r6511561;
        double r6511569 = t;
        double r6511570 = r6511562 * r6511569;
        double r6511571 = r6511568 + r6511570;
        double r6511572 = r6511565 + r6511571;
        double r6511573 = 5.0;
        double r6511574 = r6511566 * r6511573;
        double r6511575 = r6511572 + r6511574;
        return r6511575;
}

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

Reproduce

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