Average Error: 7.6 → 1.9
Time: 3.9s
Precision: 64
\[\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}\]
\[\frac{\frac{y}{1}}{\frac{x + 1}{\frac{z}{t \cdot z - x}}} - \frac{\frac{x}{t \cdot z - x} - x}{x + 1}\]
\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}
\frac{\frac{y}{1}}{\frac{x + 1}{\frac{z}{t \cdot z - x}}} - \frac{\frac{x}{t \cdot z - x} - x}{x + 1}
double f(double x, double y, double z, double t) {
        double r627638 = x;
        double r627639 = y;
        double r627640 = z;
        double r627641 = r627639 * r627640;
        double r627642 = r627641 - r627638;
        double r627643 = t;
        double r627644 = r627643 * r627640;
        double r627645 = r627644 - r627638;
        double r627646 = r627642 / r627645;
        double r627647 = r627638 + r627646;
        double r627648 = 1.0;
        double r627649 = r627638 + r627648;
        double r627650 = r627647 / r627649;
        return r627650;
}

double f(double x, double y, double z, double t) {
        double r627651 = y;
        double r627652 = 1.0;
        double r627653 = r627651 / r627652;
        double r627654 = x;
        double r627655 = 1.0;
        double r627656 = r627654 + r627655;
        double r627657 = z;
        double r627658 = t;
        double r627659 = r627658 * r627657;
        double r627660 = r627659 - r627654;
        double r627661 = r627657 / r627660;
        double r627662 = r627656 / r627661;
        double r627663 = r627653 / r627662;
        double r627664 = r627654 / r627660;
        double r627665 = r627664 - r627654;
        double r627666 = r627665 / r627656;
        double r627667 = r627663 - r627666;
        return r627667;
}

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.6
Target0.4
Herbie1.9
\[\frac{x + \left(\frac{y}{t - \frac{x}{z}} - \frac{x}{t \cdot z - x}\right)}{x + 1}\]

Derivation

  1. Initial program 7.6

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

    \[\leadsto \frac{x + \color{blue}{\left(y \cdot z - x\right) \cdot \frac{1}{t \cdot z - x}}}{x + 1}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity7.6

    \[\leadsto \frac{x + \left(y \cdot z - x\right) \cdot \frac{1}{t \cdot z - x}}{\color{blue}{1 \cdot \left(x + 1\right)}}\]
  6. Applied *-un-lft-identity7.6

    \[\leadsto \frac{\color{blue}{1 \cdot \left(x + \left(y \cdot z - x\right) \cdot \frac{1}{t \cdot z - x}\right)}}{1 \cdot \left(x + 1\right)}\]
  7. Applied times-frac7.6

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

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

    \[\leadsto 1 \cdot \color{blue}{\frac{\frac{y \cdot z - x}{t \cdot z - x} + x}{x + 1}}\]
  10. Using strategy rm
  11. Applied div-sub7.6

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

    \[\leadsto 1 \cdot \frac{\color{blue}{\frac{y \cdot z}{t \cdot z - x} - \left(\frac{x}{t \cdot z - x} - x\right)}}{x + 1}\]
  13. Applied div-sub7.6

    \[\leadsto 1 \cdot \color{blue}{\left(\frac{\frac{y \cdot z}{t \cdot z - x}}{x + 1} - \frac{\frac{x}{t \cdot z - x} - x}{x + 1}\right)}\]
  14. Using strategy rm
  15. Applied *-un-lft-identity7.6

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

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

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

    \[\leadsto \frac{\frac{y}{1}}{\frac{x + 1}{\frac{z}{t \cdot z - x}}} - \frac{\frac{x}{t \cdot z - x} - x}{x + 1}\]

Reproduce

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

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

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