Average Error: 23.2 → 19.3
Time: 20.8s
Precision: 64
\[\frac{x \cdot y + z \cdot \left(t - a\right)}{y + z \cdot \left(b - y\right)}\]
\[\begin{array}{l} \mathbf{if}\;z \le -1.219479179179928752539792709093514277923 \cdot 10^{112}:\\ \;\;\;\;\frac{t}{b} - \frac{a}{b}\\ \mathbf{elif}\;z \le 5.393088177919525543588651858528807956168 \cdot 10^{82}:\\ \;\;\;\;\left(z \cdot \left(t - a\right) + x \cdot y\right) \cdot \frac{1}{z \cdot \left(b - y\right) + y}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{b} - \frac{a}{b}\\ \end{array}\]
\frac{x \cdot y + z \cdot \left(t - a\right)}{y + z \cdot \left(b - y\right)}
\begin{array}{l}
\mathbf{if}\;z \le -1.219479179179928752539792709093514277923 \cdot 10^{112}:\\
\;\;\;\;\frac{t}{b} - \frac{a}{b}\\

\mathbf{elif}\;z \le 5.393088177919525543588651858528807956168 \cdot 10^{82}:\\
\;\;\;\;\left(z \cdot \left(t - a\right) + x \cdot y\right) \cdot \frac{1}{z \cdot \left(b - y\right) + y}\\

\mathbf{else}:\\
\;\;\;\;\frac{t}{b} - \frac{a}{b}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r37410281 = x;
        double r37410282 = y;
        double r37410283 = r37410281 * r37410282;
        double r37410284 = z;
        double r37410285 = t;
        double r37410286 = a;
        double r37410287 = r37410285 - r37410286;
        double r37410288 = r37410284 * r37410287;
        double r37410289 = r37410283 + r37410288;
        double r37410290 = b;
        double r37410291 = r37410290 - r37410282;
        double r37410292 = r37410284 * r37410291;
        double r37410293 = r37410282 + r37410292;
        double r37410294 = r37410289 / r37410293;
        return r37410294;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r37410295 = z;
        double r37410296 = -1.2194791791799288e+112;
        bool r37410297 = r37410295 <= r37410296;
        double r37410298 = t;
        double r37410299 = b;
        double r37410300 = r37410298 / r37410299;
        double r37410301 = a;
        double r37410302 = r37410301 / r37410299;
        double r37410303 = r37410300 - r37410302;
        double r37410304 = 5.3930881779195255e+82;
        bool r37410305 = r37410295 <= r37410304;
        double r37410306 = r37410298 - r37410301;
        double r37410307 = r37410295 * r37410306;
        double r37410308 = x;
        double r37410309 = y;
        double r37410310 = r37410308 * r37410309;
        double r37410311 = r37410307 + r37410310;
        double r37410312 = 1.0;
        double r37410313 = r37410299 - r37410309;
        double r37410314 = r37410295 * r37410313;
        double r37410315 = r37410314 + r37410309;
        double r37410316 = r37410312 / r37410315;
        double r37410317 = r37410311 * r37410316;
        double r37410318 = r37410305 ? r37410317 : r37410303;
        double r37410319 = r37410297 ? r37410303 : r37410318;
        return r37410319;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original23.2
Target17.9
Herbie19.3
\[\frac{z \cdot t + y \cdot x}{y + z \cdot \left(b - y\right)} - \frac{a}{\left(b - y\right) + \frac{y}{z}}\]

Derivation

  1. Split input into 2 regimes
  2. if z < -1.2194791791799288e+112 or 5.3930881779195255e+82 < z

    1. Initial program 46.0

      \[\frac{x \cdot y + z \cdot \left(t - a\right)}{y + z \cdot \left(b - y\right)}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt46.2

      \[\leadsto \frac{x \cdot y + z \cdot \left(t - a\right)}{y + \color{blue}{\left(\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}\right)} \cdot \left(b - y\right)}\]
    4. Applied associate-*l*46.2

      \[\leadsto \frac{x \cdot y + z \cdot \left(t - a\right)}{y + \color{blue}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \left(\sqrt[3]{z} \cdot \left(b - y\right)\right)}}\]
    5. Using strategy rm
    6. Applied clear-num46.2

      \[\leadsto \color{blue}{\frac{1}{\frac{y + \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \left(\sqrt[3]{z} \cdot \left(b - y\right)\right)}{x \cdot y + z \cdot \left(t - a\right)}}}\]
    7. Simplified46.0

      \[\leadsto \frac{1}{\color{blue}{\frac{\left(b - y\right) \cdot z + y}{z \cdot \left(t - a\right) + x \cdot y}}}\]
    8. Taylor expanded around inf 33.9

      \[\leadsto \color{blue}{\frac{t}{b} - \frac{a}{b}}\]

    if -1.2194791791799288e+112 < z < 5.3930881779195255e+82

    1. Initial program 11.9

      \[\frac{x \cdot y + z \cdot \left(t - a\right)}{y + z \cdot \left(b - y\right)}\]
    2. Using strategy rm
    3. Applied div-inv12.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \le -1.219479179179928752539792709093514277923 \cdot 10^{112}:\\ \;\;\;\;\frac{t}{b} - \frac{a}{b}\\ \mathbf{elif}\;z \le 5.393088177919525543588651858528807956168 \cdot 10^{82}:\\ \;\;\;\;\left(z \cdot \left(t - a\right) + x \cdot y\right) \cdot \frac{1}{z \cdot \left(b - y\right) + y}\\ \mathbf{else}:\\ \;\;\;\;\frac{t}{b} - \frac{a}{b}\\ \end{array}\]

Reproduce

herbie shell --seed 2019172 
(FPCore (x y z t a b)
  :name "Development.Shake.Progress:decay from shake-0.15.5"

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

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