Average Error: 6.9 → 2.7
Time: 10.7s
Precision: 64
\[\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -2.7461763742328719 \cdot 10^{61} \lor \neg \left(x \le 1.27002564444406092 \cdot 10^{82}\right):\\ \;\;\;\;\sqrt{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x + 1}} \cdot \sqrt{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x + 1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x \cdot x - 1 \cdot 1} \cdot \left(x - 1\right)\\ \end{array}\]
\frac{x + \frac{y \cdot z - x}{t \cdot z - x}}{x + 1}
\begin{array}{l}
\mathbf{if}\;x \le -2.7461763742328719 \cdot 10^{61} \lor \neg \left(x \le 1.27002564444406092 \cdot 10^{82}\right):\\
\;\;\;\;\sqrt{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x + 1}} \cdot \sqrt{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x + 1}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x \cdot x - 1 \cdot 1} \cdot \left(x - 1\right)\\

\end{array}
double f(double x, double y, double z, double t) {
        double r716778 = x;
        double r716779 = y;
        double r716780 = z;
        double r716781 = r716779 * r716780;
        double r716782 = r716781 - r716778;
        double r716783 = t;
        double r716784 = r716783 * r716780;
        double r716785 = r716784 - r716778;
        double r716786 = r716782 / r716785;
        double r716787 = r716778 + r716786;
        double r716788 = 1.0;
        double r716789 = r716778 + r716788;
        double r716790 = r716787 / r716789;
        return r716790;
}

double f(double x, double y, double z, double t) {
        double r716791 = x;
        double r716792 = -2.746176374232872e+61;
        bool r716793 = r716791 <= r716792;
        double r716794 = 1.270025644444061e+82;
        bool r716795 = r716791 <= r716794;
        double r716796 = !r716795;
        bool r716797 = r716793 || r716796;
        double r716798 = y;
        double r716799 = z;
        double r716800 = t;
        double r716801 = r716800 * r716799;
        double r716802 = r716801 - r716791;
        double r716803 = r716799 / r716802;
        double r716804 = r716798 * r716803;
        double r716805 = r716791 / r716802;
        double r716806 = r716804 - r716805;
        double r716807 = r716791 + r716806;
        double r716808 = 1.0;
        double r716809 = r716791 + r716808;
        double r716810 = r716807 / r716809;
        double r716811 = sqrt(r716810);
        double r716812 = r716811 * r716811;
        double r716813 = r716791 * r716791;
        double r716814 = r716808 * r716808;
        double r716815 = r716813 - r716814;
        double r716816 = r716807 / r716815;
        double r716817 = r716791 - r716808;
        double r716818 = r716816 * r716817;
        double r716819 = r716797 ? r716812 : r716818;
        return r716819;
}

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

Original6.9
Target0.3
Herbie2.7
\[\frac{x + \left(\frac{y}{t - \frac{x}{z}} - \frac{x}{t \cdot z - x}\right)}{x + 1}\]

Derivation

  1. Split input into 2 regimes
  2. if x < -2.746176374232872e+61 or 1.270025644444061e+82 < x

    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. Simplified0.6

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

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

    if -2.746176374232872e+61 < x < 1.270025644444061e+82

    1. Initial program 6.7

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

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

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

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

      \[\leadsto \color{blue}{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x \cdot x - 1 \cdot 1} \cdot \left(x - 1\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -2.7461763742328719 \cdot 10^{61} \lor \neg \left(x \le 1.27002564444406092 \cdot 10^{82}\right):\\ \;\;\;\;\sqrt{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x + 1}} \cdot \sqrt{\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x + 1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x + \left(y \cdot \frac{z}{t \cdot z - x} - \frac{x}{t \cdot z - x}\right)}{x \cdot x - 1 \cdot 1} \cdot \left(x - 1\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020045 
(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)))