Average Error: 4.2 → 1.5
Time: 5.1s
Precision: 64
\[x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right)\]
\[\begin{array}{l} \mathbf{if}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le -1.7824657187101655 \cdot 10^{283}:\\ \;\;\;\;\frac{x \cdot \left(y \cdot \left(1 - z\right) - z \cdot t\right)}{z \cdot \left(1 - z\right)}\\ \mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le -3.4079334438846939 \cdot 10^{-303}:\\ \;\;\;\;x \cdot \frac{y}{z} + x \cdot \left(-t \cdot \frac{1}{1 - z}\right)\\ \mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le 1.34256702140432422 \cdot 10^{120}:\\ \;\;\;\;\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}} + \frac{x \cdot \left(-t\right)}{1 - z}\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}} + x \cdot \left(-\frac{t}{1 - z}\right)\\ \end{array}\]
x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right)
\begin{array}{l}
\mathbf{if}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le -1.7824657187101655 \cdot 10^{283}:\\
\;\;\;\;\frac{x \cdot \left(y \cdot \left(1 - z\right) - z \cdot t\right)}{z \cdot \left(1 - z\right)}\\

\mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le -3.4079334438846939 \cdot 10^{-303}:\\
\;\;\;\;x \cdot \frac{y}{z} + x \cdot \left(-t \cdot \frac{1}{1 - z}\right)\\

\mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le 1.34256702140432422 \cdot 10^{120}:\\
\;\;\;\;\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}} + \frac{x \cdot \left(-t\right)}{1 - z}\\

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

\end{array}
double f(double x, double y, double z, double t) {
        double r386564 = x;
        double r386565 = y;
        double r386566 = z;
        double r386567 = r386565 / r386566;
        double r386568 = t;
        double r386569 = 1.0;
        double r386570 = r386569 - r386566;
        double r386571 = r386568 / r386570;
        double r386572 = r386567 - r386571;
        double r386573 = r386564 * r386572;
        return r386573;
}

double f(double x, double y, double z, double t) {
        double r386574 = x;
        double r386575 = y;
        double r386576 = z;
        double r386577 = r386575 / r386576;
        double r386578 = t;
        double r386579 = 1.0;
        double r386580 = r386579 - r386576;
        double r386581 = r386578 / r386580;
        double r386582 = r386577 - r386581;
        double r386583 = r386574 * r386582;
        double r386584 = -1.7824657187101655e+283;
        bool r386585 = r386583 <= r386584;
        double r386586 = r386575 * r386580;
        double r386587 = r386576 * r386578;
        double r386588 = r386586 - r386587;
        double r386589 = r386574 * r386588;
        double r386590 = r386576 * r386580;
        double r386591 = r386589 / r386590;
        double r386592 = -3.407933443884694e-303;
        bool r386593 = r386583 <= r386592;
        double r386594 = r386574 * r386577;
        double r386595 = 1.0;
        double r386596 = r386595 / r386580;
        double r386597 = r386578 * r386596;
        double r386598 = -r386597;
        double r386599 = r386574 * r386598;
        double r386600 = r386594 + r386599;
        double r386601 = 1.3425670214043242e+120;
        bool r386602 = r386583 <= r386601;
        double r386603 = cbrt(r386575);
        double r386604 = r386603 * r386603;
        double r386605 = cbrt(r386576);
        double r386606 = r386605 * r386605;
        double r386607 = r386604 / r386606;
        double r386608 = r386574 * r386607;
        double r386609 = r386603 / r386605;
        double r386610 = r386608 * r386609;
        double r386611 = -r386578;
        double r386612 = r386574 * r386611;
        double r386613 = r386612 / r386580;
        double r386614 = r386610 + r386613;
        double r386615 = cbrt(r386605);
        double r386616 = r386615 * r386615;
        double r386617 = r386616 * r386615;
        double r386618 = r386603 / r386617;
        double r386619 = r386608 * r386618;
        double r386620 = -r386581;
        double r386621 = r386574 * r386620;
        double r386622 = r386619 + r386621;
        double r386623 = r386602 ? r386614 : r386622;
        double r386624 = r386593 ? r386600 : r386623;
        double r386625 = r386585 ? r386591 : r386624;
        return r386625;
}

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

Original4.2
Target4.1
Herbie1.5
\[\begin{array}{l} \mathbf{if}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \lt -7.62322630331204244 \cdot 10^{-196}:\\ \;\;\;\;x \cdot \left(\frac{y}{z} - t \cdot \frac{1}{1 - z}\right)\\ \mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \lt 1.41339449277023022 \cdot 10^{-211}:\\ \;\;\;\;\frac{y \cdot x}{z} + \left(-\frac{t \cdot x}{1 - z}\right)\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(\frac{y}{z} - t \cdot \frac{1}{1 - z}\right)\\ \end{array}\]

Derivation

  1. Split input into 4 regimes
  2. if (* x (- (/ y z) (/ t (- 1.0 z)))) < -1.7824657187101655e+283

    1. Initial program 42.8

      \[x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right)\]
    2. Using strategy rm
    3. Applied frac-sub46.6

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

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

    if -1.7824657187101655e+283 < (* x (- (/ y z) (/ t (- 1.0 z)))) < -3.407933443884694e-303

    1. Initial program 0.3

      \[x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right)\]
    2. Using strategy rm
    3. Applied sub-neg0.3

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

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

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

    if -3.407933443884694e-303 < (* x (- (/ y z) (/ t (- 1.0 z)))) < 1.3425670214043242e+120

    1. Initial program 2.4

      \[x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right)\]
    2. Using strategy rm
    3. Applied sub-neg2.4

      \[\leadsto x \cdot \color{blue}{\left(\frac{y}{z} + \left(-\frac{t}{1 - z}\right)\right)}\]
    4. Applied distribute-lft-in2.4

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

      \[\leadsto x \cdot \frac{y}{\color{blue}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}}} + x \cdot \left(-\frac{t}{1 - z}\right)\]
    7. Applied add-cube-cbrt2.9

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

      \[\leadsto x \cdot \color{blue}{\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}\right)} + x \cdot \left(-\frac{t}{1 - z}\right)\]
    9. Applied associate-*r*2.1

      \[\leadsto \color{blue}{\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}} + x \cdot \left(-\frac{t}{1 - z}\right)\]
    10. Using strategy rm
    11. Applied distribute-neg-frac2.1

      \[\leadsto \left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}} + x \cdot \color{blue}{\frac{-t}{1 - z}}\]
    12. Applied associate-*r/1.6

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

    if 1.3425670214043242e+120 < (* x (- (/ y z) (/ t (- 1.0 z))))

    1. Initial program 10.5

      \[x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right)\]
    2. Using strategy rm
    3. Applied sub-neg10.5

      \[\leadsto x \cdot \color{blue}{\left(\frac{y}{z} + \left(-\frac{t}{1 - z}\right)\right)}\]
    4. Applied distribute-lft-in10.5

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

      \[\leadsto x \cdot \frac{y}{\color{blue}{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt[3]{z}}} + x \cdot \left(-\frac{t}{1 - z}\right)\]
    7. Applied add-cube-cbrt11.2

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

      \[\leadsto x \cdot \color{blue}{\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}\right)} + x \cdot \left(-\frac{t}{1 - z}\right)\]
    9. Applied associate-*r*2.6

      \[\leadsto \color{blue}{\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}} + x \cdot \left(-\frac{t}{1 - z}\right)\]
    10. Using strategy rm
    11. Applied add-cube-cbrt2.8

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le -1.7824657187101655 \cdot 10^{283}:\\ \;\;\;\;\frac{x \cdot \left(y \cdot \left(1 - z\right) - z \cdot t\right)}{z \cdot \left(1 - z\right)}\\ \mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le -3.4079334438846939 \cdot 10^{-303}:\\ \;\;\;\;x \cdot \frac{y}{z} + x \cdot \left(-t \cdot \frac{1}{1 - z}\right)\\ \mathbf{elif}\;x \cdot \left(\frac{y}{z} - \frac{t}{1 - z}\right) \le 1.34256702140432422 \cdot 10^{120}:\\ \;\;\;\;\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}} + \frac{x \cdot \left(-t\right)}{1 - z}\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right) \cdot \frac{\sqrt[3]{y}}{\left(\sqrt[3]{\sqrt[3]{z}} \cdot \sqrt[3]{\sqrt[3]{z}}\right) \cdot \sqrt[3]{\sqrt[3]{z}}} + x \cdot \left(-\frac{t}{1 - z}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020100 
(FPCore (x y z t)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, C"
  :precision binary64

  :herbie-target
  (if (< (* x (- (/ y z) (/ t (- 1 z)))) -7.623226303312042e-196) (* x (- (/ y z) (* t (/ 1 (- 1 z))))) (if (< (* x (- (/ y z) (/ t (- 1 z)))) 1.4133944927702302e-211) (+ (/ (* y x) z) (- (/ (* t x) (- 1 z)))) (* x (- (/ y z) (* t (/ 1 (- 1 z)))))))

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