Average Error: 7.3 → 2.5
Time: 15.4s
Precision: 64
\[\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}\]
\[\frac{\left(\frac{z}{z \cdot t - x} \cdot y - \frac{1}{\frac{t}{\frac{x}{z}} - 1}\right) + x}{1 + x}\]
\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}
\frac{\left(\frac{z}{z \cdot t - x} \cdot y - \frac{1}{\frac{t}{\frac{x}{z}} - 1}\right) + x}{1 + x}
double f(double x, double y, double z, double t) {
        double r531119 = x;
        double r531120 = y;
        double r531121 = z;
        double r531122 = r531120 * r531121;
        double r531123 = r531122 - r531119;
        double r531124 = t;
        double r531125 = r531124 * r531121;
        double r531126 = r531125 - r531119;
        double r531127 = r531123 / r531126;
        double r531128 = r531119 + r531127;
        double r531129 = 1.0;
        double r531130 = r531119 + r531129;
        double r531131 = r531128 / r531130;
        return r531131;
}

double f(double x, double y, double z, double t) {
        double r531132 = z;
        double r531133 = t;
        double r531134 = r531132 * r531133;
        double r531135 = x;
        double r531136 = r531134 - r531135;
        double r531137 = r531132 / r531136;
        double r531138 = y;
        double r531139 = r531137 * r531138;
        double r531140 = 1.0;
        double r531141 = r531135 / r531132;
        double r531142 = r531133 / r531141;
        double r531143 = r531142 - r531140;
        double r531144 = r531140 / r531143;
        double r531145 = r531139 - r531144;
        double r531146 = r531145 + r531135;
        double r531147 = 1.0;
        double r531148 = r531147 + r531135;
        double r531149 = r531146 / r531148;
        return r531149;
}

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

Target

Original7.3
Target0.4
Herbie2.5
\[\frac{x + \left(\frac{y}{t - \frac{x}{z}} - \frac{x}{t \cdot z - x}\right)}{x + 1}\]

Derivation

  1. Initial program 7.3

    \[\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}\]
  2. Using strategy rm
  3. Applied div-sub7.3

    \[\leadsto \frac{x + \color{blue}{\left(\frac{y \cdot z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}}{x + 1}\]
  4. Simplified4.9

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

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

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

    \[\leadsto \frac{x + \left(y \cdot \color{blue}{\frac{z}{z \cdot t - x}} - \frac{x}{t \cdot z - x}\right)}{x + 1}\]
  9. Using strategy rm
  10. Applied clear-num2.5

    \[\leadsto \frac{x + \left(y \cdot \frac{z}{z \cdot t - x} - \color{blue}{\frac{1}{\frac{t \cdot z - x}{x}}}\right)}{x + 1}\]
  11. Simplified2.5

    \[\leadsto \frac{x + \left(y \cdot \frac{z}{z \cdot t - x} - \frac{1}{\color{blue}{\frac{t}{\frac{x}{z}} - 1}}\right)}{x + 1}\]
  12. Final simplification2.5

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

Reproduce

herbie shell --seed 2019195 
(FPCore (x y z t)
  :name "Diagrams.Trail:splitAtParam  from diagrams-lib-1.3.0.3, A"

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

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