Average Error: 2.0 → 1.8
Time: 41.9s
Precision: 64
\[x - \frac{y - z}{\frac{\left(t - z\right) + 1}{a}}\]
\[x - \left(y - z\right) \cdot \frac{a}{t - \left(z - 1\right)}\]
x - \frac{y - z}{\frac{\left(t - z\right) + 1}{a}}
x - \left(y - z\right) \cdot \frac{a}{t - \left(z - 1\right)}
double f(double x, double y, double z, double t, double a) {
        double r29072539 = x;
        double r29072540 = y;
        double r29072541 = z;
        double r29072542 = r29072540 - r29072541;
        double r29072543 = t;
        double r29072544 = r29072543 - r29072541;
        double r29072545 = 1.0;
        double r29072546 = r29072544 + r29072545;
        double r29072547 = a;
        double r29072548 = r29072546 / r29072547;
        double r29072549 = r29072542 / r29072548;
        double r29072550 = r29072539 - r29072549;
        return r29072550;
}

double f(double x, double y, double z, double t, double a) {
        double r29072551 = x;
        double r29072552 = y;
        double r29072553 = z;
        double r29072554 = r29072552 - r29072553;
        double r29072555 = a;
        double r29072556 = t;
        double r29072557 = 1.0;
        double r29072558 = r29072553 - r29072557;
        double r29072559 = r29072556 - r29072558;
        double r29072560 = r29072555 / r29072559;
        double r29072561 = r29072554 * r29072560;
        double r29072562 = r29072551 - r29072561;
        return r29072562;
}

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

Original2.0
Target0.2
Herbie1.8
\[x - \frac{y - z}{\left(t - z\right) + 1} \cdot a\]

Derivation

  1. Initial program 2.0

    \[x - \frac{y - z}{\frac{\left(t - z\right) + 1}{a}}\]
  2. Using strategy rm
  3. Applied associate-/r/0.2

    \[\leadsto x - \color{blue}{\frac{y - z}{\left(t - z\right) + 1} \cdot a}\]
  4. Using strategy rm
  5. Applied div-inv0.3

    \[\leadsto x - \color{blue}{\left(\left(y - z\right) \cdot \frac{1}{\left(t - z\right) + 1}\right)} \cdot a\]
  6. Applied associate-*l*1.8

    \[\leadsto x - \color{blue}{\left(y - z\right) \cdot \left(\frac{1}{\left(t - z\right) + 1} \cdot a\right)}\]
  7. Simplified1.8

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

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

Reproduce

herbie shell --seed 2019168 
(FPCore (x y z t a)
  :name "Graphics.Rendering.Chart.SparkLine:renderSparkLine from Chart-1.5.3"

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

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