Average Error: 0.0 → 0.1
Time: 13.9s
Precision: 64
\[\frac{\left(x + y\right) - z}{t \cdot 2}\]
\[0.5 \cdot \left(\frac{y}{t} + \frac{x}{t}\right) - \frac{\frac{z}{t}}{2}\]
\frac{\left(x + y\right) - z}{t \cdot 2}
0.5 \cdot \left(\frac{y}{t} + \frac{x}{t}\right) - \frac{\frac{z}{t}}{2}
double f(double x, double y, double z, double t) {
        double r44055 = x;
        double r44056 = y;
        double r44057 = r44055 + r44056;
        double r44058 = z;
        double r44059 = r44057 - r44058;
        double r44060 = t;
        double r44061 = 2.0;
        double r44062 = r44060 * r44061;
        double r44063 = r44059 / r44062;
        return r44063;
}

double f(double x, double y, double z, double t) {
        double r44064 = 0.5;
        double r44065 = y;
        double r44066 = t;
        double r44067 = r44065 / r44066;
        double r44068 = x;
        double r44069 = r44068 / r44066;
        double r44070 = r44067 + r44069;
        double r44071 = r44064 * r44070;
        double r44072 = z;
        double r44073 = r44072 / r44066;
        double r44074 = 2.0;
        double r44075 = r44073 / r44074;
        double r44076 = r44071 - r44075;
        return r44076;
}

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.0

    \[\frac{\left(x + y\right) - z}{t \cdot 2}\]
  2. Using strategy rm
  3. Applied div-sub0.1

    \[\leadsto \color{blue}{\frac{x + y}{t \cdot 2} - \frac{z}{t \cdot 2}}\]
  4. Simplified0.0

    \[\leadsto \color{blue}{\frac{\frac{y + x}{2}}{t}} - \frac{z}{t \cdot 2}\]
  5. Simplified0.0

    \[\leadsto \frac{\frac{y + x}{2}}{t} - \color{blue}{\frac{\frac{z}{t}}{2}}\]
  6. Taylor expanded around 0 0.1

    \[\leadsto \color{blue}{\left(0.5 \cdot \frac{y}{t} + 0.5 \cdot \frac{x}{t}\right)} - \frac{\frac{z}{t}}{2}\]
  7. Simplified0.1

    \[\leadsto \color{blue}{0.5 \cdot \left(\frac{y}{t} + \frac{x}{t}\right)} - \frac{\frac{z}{t}}{2}\]
  8. Final simplification0.1

    \[\leadsto 0.5 \cdot \left(\frac{y}{t} + \frac{x}{t}\right) - \frac{\frac{z}{t}}{2}\]

Reproduce

herbie shell --seed 2019196 
(FPCore (x y z t)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, B"
  (/ (- (+ x y) z) (* t 2.0)))