Average Error: 4.0 → 5.3
Time: 14.2s
Precision: 64
\[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
\[\begin{array}{l} \mathbf{if}\;t \le -4.33536139562560236 \cdot 10^{-281} \lor \neg \left(t \le 2.7731803138233924 \cdot 10^{-105}\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \sqrt[3]{{\left(\frac{2}{t \cdot 3}\right)}^{3}}\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\ \end{array}\]
\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}
\begin{array}{l}
\mathbf{if}\;t \le -4.33536139562560236 \cdot 10^{-281} \lor \neg \left(t \le 2.7731803138233924 \cdot 10^{-105}\right):\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \sqrt[3]{{\left(\frac{2}{t \cdot 3}\right)}^{3}}\right)\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r473108 = x;
        double r473109 = y;
        double r473110 = 2.0;
        double r473111 = z;
        double r473112 = t;
        double r473113 = a;
        double r473114 = r473112 + r473113;
        double r473115 = sqrt(r473114);
        double r473116 = r473111 * r473115;
        double r473117 = r473116 / r473112;
        double r473118 = b;
        double r473119 = c;
        double r473120 = r473118 - r473119;
        double r473121 = 5.0;
        double r473122 = 6.0;
        double r473123 = r473121 / r473122;
        double r473124 = r473113 + r473123;
        double r473125 = 3.0;
        double r473126 = r473112 * r473125;
        double r473127 = r473110 / r473126;
        double r473128 = r473124 - r473127;
        double r473129 = r473120 * r473128;
        double r473130 = r473117 - r473129;
        double r473131 = r473110 * r473130;
        double r473132 = exp(r473131);
        double r473133 = r473109 * r473132;
        double r473134 = r473108 + r473133;
        double r473135 = r473108 / r473134;
        return r473135;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r473136 = t;
        double r473137 = -4.3353613956256024e-281;
        bool r473138 = r473136 <= r473137;
        double r473139 = 2.7731803138233924e-105;
        bool r473140 = r473136 <= r473139;
        double r473141 = !r473140;
        bool r473142 = r473138 || r473141;
        double r473143 = x;
        double r473144 = y;
        double r473145 = 2.0;
        double r473146 = z;
        double r473147 = a;
        double r473148 = r473136 + r473147;
        double r473149 = sqrt(r473148);
        double r473150 = r473146 * r473149;
        double r473151 = r473150 / r473136;
        double r473152 = b;
        double r473153 = c;
        double r473154 = r473152 - r473153;
        double r473155 = 5.0;
        double r473156 = 6.0;
        double r473157 = r473155 / r473156;
        double r473158 = r473147 + r473157;
        double r473159 = 3.0;
        double r473160 = r473136 * r473159;
        double r473161 = r473145 / r473160;
        double r473162 = 3.0;
        double r473163 = pow(r473161, r473162);
        double r473164 = cbrt(r473163);
        double r473165 = r473158 - r473164;
        double r473166 = r473154 * r473165;
        double r473167 = r473151 - r473166;
        double r473168 = r473145 * r473167;
        double r473169 = exp(r473168);
        double r473170 = r473144 * r473169;
        double r473171 = r473143 + r473170;
        double r473172 = r473143 / r473171;
        double r473173 = r473147 - r473157;
        double r473174 = r473173 * r473160;
        double r473175 = r473150 * r473174;
        double r473176 = r473147 * r473147;
        double r473177 = r473157 * r473157;
        double r473178 = r473176 - r473177;
        double r473179 = r473178 * r473160;
        double r473180 = r473173 * r473145;
        double r473181 = r473179 - r473180;
        double r473182 = r473154 * r473181;
        double r473183 = r473136 * r473182;
        double r473184 = r473175 - r473183;
        double r473185 = r473136 * r473174;
        double r473186 = r473184 / r473185;
        double r473187 = r473145 * r473186;
        double r473188 = exp(r473187);
        double r473189 = r473144 * r473188;
        double r473190 = r473143 + r473189;
        double r473191 = r473143 / r473190;
        double r473192 = r473142 ? r473172 : r473191;
        return r473192;
}

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

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original4.0
Target3.1
Herbie5.3
\[\begin{array}{l} \mathbf{if}\;t \lt -2.1183266448915811 \cdot 10^{-50}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.83333333333333337 \cdot c\right) - a \cdot b\right)}}\\ \mathbf{elif}\;t \lt 5.19658877065154709 \cdot 10^{-123}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(3 \cdot t\right) \cdot \left(a - \frac{5}{6}\right)\right) - \left(\left(\frac{5}{6} + a\right) \cdot \left(3 \cdot t\right) - 2\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left(\left(t \cdot t\right) \cdot 3\right) \cdot \left(a - \frac{5}{6}\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if t < -4.3353613956256024e-281 or 2.7731803138233924e-105 < t

    1. Initial program 3.3

      \[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube3.3

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot \color{blue}{\sqrt[3]{\left(3 \cdot 3\right) \cdot 3}}}\right)\right)}}\]
    4. Applied add-cbrt-cube4.4

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{\color{blue}{\sqrt[3]{\left(t \cdot t\right) \cdot t}} \cdot \sqrt[3]{\left(3 \cdot 3\right) \cdot 3}}\right)\right)}}\]
    5. Applied cbrt-unprod4.4

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{\color{blue}{\sqrt[3]{\left(\left(t \cdot t\right) \cdot t\right) \cdot \left(\left(3 \cdot 3\right) \cdot 3\right)}}}\right)\right)}}\]
    6. Applied add-cbrt-cube4.4

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{\color{blue}{\sqrt[3]{\left(2 \cdot 2\right) \cdot 2}}}{\sqrt[3]{\left(\left(t \cdot t\right) \cdot t\right) \cdot \left(\left(3 \cdot 3\right) \cdot 3\right)}}\right)\right)}}\]
    7. Applied cbrt-undiv4.5

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \color{blue}{\sqrt[3]{\frac{\left(2 \cdot 2\right) \cdot 2}{\left(\left(t \cdot t\right) \cdot t\right) \cdot \left(\left(3 \cdot 3\right) \cdot 3\right)}}}\right)\right)}}\]
    8. Simplified4.5

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \sqrt[3]{\color{blue}{{\left(\frac{2}{t \cdot 3}\right)}^{3}}}\right)\right)}}\]

    if -4.3353613956256024e-281 < t < 2.7731803138233924e-105

    1. Initial program 6.4

      \[\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\]
    2. Using strategy rm
    3. Applied flip-+10.2

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\color{blue}{\frac{a \cdot a - \frac{5}{6} \cdot \frac{5}{6}}{a - \frac{5}{6}}} - \frac{2}{t \cdot 3}\right)\right)}}\]
    4. Applied frac-sub10.2

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \color{blue}{\frac{\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2}{\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)}}\right)}}\]
    5. Applied associate-*r/10.2

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \color{blue}{\frac{\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)}{\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)}}\right)}}\]
    6. Applied frac-sub8.4

      \[\leadsto \frac{x}{x + y \cdot e^{2 \cdot \color{blue}{\frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -4.33536139562560236 \cdot 10^{-281} \lor \neg \left(t \le 2.7731803138233924 \cdot 10^{-105}\right):\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \sqrt[3]{{\left(\frac{2}{t \cdot 3}\right)}^{3}}\right)\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right) - t \cdot \left(\left(b - c\right) \cdot \left(\left(a \cdot a - \frac{5}{6} \cdot \frac{5}{6}\right) \cdot \left(t \cdot 3\right) - \left(a - \frac{5}{6}\right) \cdot 2\right)\right)}{t \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(t \cdot 3\right)\right)}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020062 
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"
  :precision binary64

  :herbie-target
  (if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2 (/ (- (* (* z (sqrt (+ t a))) (* (* 3 t) (- a (/ 5 6)))) (* (- (* (+ (/ 5 6) a) (* 3 t)) 2) (* (- a (/ 5 6)) (* (- b c) t)))) (* (* (* t t) 3) (- a (/ 5 6))))))))) (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3))))))))))))

  (/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))