Average Error: 20.7 → 1.9
Time: 3.4m
Precision: 64
Internal precision: 128
\[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
⬇
\[\begin{array}{l}
\mathbf{if}\;t \le -2.4368284028755833 \cdot 10^{+34}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2.0 \cdot \left(\left(0.8333333333333334 \cdot c + c \cdot a\right) - b \cdot a\right)}}\\
\mathbf{if}\;t \le 2.3351005256458113 \cdot 10^{-142}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2.0 \cdot \frac{\left(\frac{\frac{2.0}{t}}{3.0} + \left(\frac{5.0}{6.0} + a\right)\right) \cdot \left(z \cdot \sqrt{a + t} - \left(\left(b - c\right) \cdot t\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{\frac{2.0}{t}}{3.0}\right)\right)}{t \cdot \left(\left(a + \frac{5.0}{6.0}\right) + \frac{2.0}{t \cdot 3.0}\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\\
\end{array}\]
Target
| Original | 20.7 |
| Comparison | 2.5 |
| Herbie | 1.9 |
\[ \begin{array}{l}
\mathbf{if}\;t \lt -2.118326644891581 \cdot 10^{-50}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2.0 \cdot \left(\left(a \cdot c + 0.8333333333333334 \cdot c\right) - a \cdot b\right)}}\\
\mathbf{if}\;t \lt 5.196588770651547 \cdot 10^{-123}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2.0 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(3.0 \cdot t\right) \cdot \left(a - \frac{5.0}{6.0}\right)\right) - \left(\left(\frac{5.0}{6.0} + a\right) \cdot \left(3.0 \cdot t\right) - 2.0\right) \cdot \left(\left(a - \frac{5.0}{6.0}\right) \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left({t}^2 \cdot 3.0\right) \cdot \left(a - \frac{5.0}{6.0}\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\\
\end{array} \]
Derivation
- Split input into 3 regimes.
-
if t < -2.4368284028755833e+34
Initial program 55.3
\[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
Applied taylor 1.6
\[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\left(0.8333333333333334 \cdot c + c \cdot a\right) - b \cdot a\right)}}\]
Taylor expanded around inf 1.6
\[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \color{blue}{\left(\left(0.8333333333333334 \cdot c + c \cdot a\right) - b \cdot a\right)}}}\]
if -2.4368284028755833e+34 < t < 2.3351005256458113e-142
Initial program 6.7
\[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
- Using strategy
rm
Applied flip-- 20.2
\[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \color{blue}{\frac{{\left(a + \frac{5.0}{6.0}\right)}^2 - {\left(\frac{2.0}{t \cdot 3.0}\right)}^2}{\left(a + \frac{5.0}{6.0}\right) + \frac{2.0}{t \cdot 3.0}}}\right)}}\]
Applied associate-*r/ 20.4
\[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \color{blue}{\frac{\left(b - c\right) \cdot \left({\left(a + \frac{5.0}{6.0}\right)}^2 - {\left(\frac{2.0}{t \cdot 3.0}\right)}^2\right)}{\left(a + \frac{5.0}{6.0}\right) + \frac{2.0}{t \cdot 3.0}}}\right)}}\]
Applied frac-sub 21.3
\[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \color{blue}{\frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) + \frac{2.0}{t \cdot 3.0}\right) - t \cdot \left(\left(b - c\right) \cdot \left({\left(a + \frac{5.0}{6.0}\right)}^2 - {\left(\frac{2.0}{t \cdot 3.0}\right)}^2\right)\right)}{t \cdot \left(\left(a + \frac{5.0}{6.0}\right) + \frac{2.0}{t \cdot 3.0}\right)}}}}\]
Applied simplify 1.7
\[\leadsto \frac{x}{x + y \cdot e^{2.0 \cdot \frac{\color{blue}{\left(\frac{\frac{2.0}{t}}{3.0} + \left(\frac{5.0}{6.0} + a\right)\right) \cdot \left(z \cdot \sqrt{a + t} - \left(\left(b - c\right) \cdot t\right) \cdot \left(\left(\frac{5.0}{6.0} + a\right) - \frac{\frac{2.0}{t}}{3.0}\right)\right)}}{t \cdot \left(\left(a + \frac{5.0}{6.0}\right) + \frac{2.0}{t \cdot 3.0}\right)}}}\]
if 2.3351005256458113e-142 < t
Initial program 2.3
\[\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\]
- Recombined 3 regimes into one program.
- Removed slow pow expressions
Runtime
Please include this information when filing a bug report:
herbie --seed '#(2901879629 3206232249 1557822768 2386024429 645228315 4049442648)'
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"
:target
(if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2.0 (/ (- (* (* z (sqrt (+ t a))) (* (* 3.0 t) (- a (/ 5.0 6.0)))) (* (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0) (* (- a (/ 5.0 6.0)) (* (- b c) t)))) (* (* (sqr t) 3.0) (- a (/ 5.0 6.0))))))))) (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))