Average Error: 11.1 → 1.3
Time: 3.7s
Precision: 64
\[x + \frac{y \cdot \left(z - t\right)}{z - a}\]
\[x + y \cdot \left(\frac{1}{\frac{z - a}{z}} - \frac{t}{z - a}\right)\]
x + \frac{y \cdot \left(z - t\right)}{z - a}
x + y \cdot \left(\frac{1}{\frac{z - a}{z}} - \frac{t}{z - a}\right)
double f(double x, double y, double z, double t, double a) {
        double r561174 = x;
        double r561175 = y;
        double r561176 = z;
        double r561177 = t;
        double r561178 = r561176 - r561177;
        double r561179 = r561175 * r561178;
        double r561180 = a;
        double r561181 = r561176 - r561180;
        double r561182 = r561179 / r561181;
        double r561183 = r561174 + r561182;
        return r561183;
}

double f(double x, double y, double z, double t, double a) {
        double r561184 = x;
        double r561185 = y;
        double r561186 = 1.0;
        double r561187 = z;
        double r561188 = a;
        double r561189 = r561187 - r561188;
        double r561190 = r561189 / r561187;
        double r561191 = r561186 / r561190;
        double r561192 = t;
        double r561193 = r561192 / r561189;
        double r561194 = r561191 - r561193;
        double r561195 = r561185 * r561194;
        double r561196 = r561184 + r561195;
        return r561196;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original11.1
Target1.1
Herbie1.3
\[x + \frac{y}{\frac{z - a}{z - t}}\]

Derivation

  1. Initial program 11.1

    \[x + \frac{y \cdot \left(z - t\right)}{z - a}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity11.1

    \[\leadsto x + \frac{y \cdot \left(z - t\right)}{\color{blue}{1 \cdot \left(z - a\right)}}\]
  4. Applied times-frac1.3

    \[\leadsto x + \color{blue}{\frac{y}{1} \cdot \frac{z - t}{z - a}}\]
  5. Simplified1.3

    \[\leadsto x + \color{blue}{y} \cdot \frac{z - t}{z - a}\]
  6. Using strategy rm
  7. Applied div-sub1.3

    \[\leadsto x + y \cdot \color{blue}{\left(\frac{z}{z - a} - \frac{t}{z - a}\right)}\]
  8. Using strategy rm
  9. Applied clear-num1.3

    \[\leadsto x + y \cdot \left(\color{blue}{\frac{1}{\frac{z - a}{z}}} - \frac{t}{z - a}\right)\]
  10. Final simplification1.3

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

Reproduce

herbie shell --seed 2020056 
(FPCore (x y z t a)
  :name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, A"
  :precision binary64

  :herbie-target
  (+ x (/ y (/ (- z a) (- z t))))

  (+ x (/ (* y (- z t)) (- z a))))