Average Error: 60.6 → 53.1
Time: 14.2s
Precision: 64
\[-1 \lt \varepsilon \land \varepsilon \lt 1\]
\[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
\[\begin{array}{l} \mathbf{if}\;b \le -2.55915272720628289 \cdot 10^{73}:\\ \;\;\;\;\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\\ \mathbf{elif}\;b \le 2.19207211303363165 \cdot 10^{74}:\\ \;\;\;\;\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(\frac{1}{6} \cdot \left({\varepsilon}^{3} \cdot {b}^{3}\right) + b \cdot \left(\varepsilon + \left(\frac{1}{2} \cdot {\varepsilon}^{2}\right) \cdot b\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\varepsilon \cdot \sqrt[3]{{\left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}^{3}}}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\\ \end{array}\]
\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}
\begin{array}{l}
\mathbf{if}\;b \le -2.55915272720628289 \cdot 10^{73}:\\
\;\;\;\;\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\\

\mathbf{elif}\;b \le 2.19207211303363165 \cdot 10^{74}:\\
\;\;\;\;\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(\frac{1}{6} \cdot \left({\varepsilon}^{3} \cdot {b}^{3}\right) + b \cdot \left(\varepsilon + \left(\frac{1}{2} \cdot {\varepsilon}^{2}\right) \cdot b\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\varepsilon \cdot \sqrt[3]{{\left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}^{3}}}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\\

\end{array}
double f(double a, double b, double eps) {
        double r88933 = eps;
        double r88934 = a;
        double r88935 = b;
        double r88936 = r88934 + r88935;
        double r88937 = r88936 * r88933;
        double r88938 = exp(r88937);
        double r88939 = 1.0;
        double r88940 = r88938 - r88939;
        double r88941 = r88933 * r88940;
        double r88942 = r88934 * r88933;
        double r88943 = exp(r88942);
        double r88944 = r88943 - r88939;
        double r88945 = r88935 * r88933;
        double r88946 = exp(r88945);
        double r88947 = r88946 - r88939;
        double r88948 = r88944 * r88947;
        double r88949 = r88941 / r88948;
        return r88949;
}

double f(double a, double b, double eps) {
        double r88950 = b;
        double r88951 = -2.559152727206283e+73;
        bool r88952 = r88950 <= r88951;
        double r88953 = eps;
        double r88954 = a;
        double r88955 = r88954 + r88950;
        double r88956 = r88955 * r88953;
        double r88957 = exp(r88956);
        double r88958 = 1.0;
        double r88959 = r88957 - r88958;
        double r88960 = r88953 * r88959;
        double r88961 = r88954 * r88953;
        double r88962 = 2.0;
        double r88963 = r88962 / r88962;
        double r88964 = pow(r88953, r88963);
        double r88965 = 0.5;
        double r88966 = pow(r88954, r88962);
        double r88967 = r88965 * r88966;
        double r88968 = 0.16666666666666666;
        double r88969 = r88954 * r88954;
        double r88970 = r88969 * r88953;
        double r88971 = r88954 * r88970;
        double r88972 = r88968 * r88971;
        double r88973 = r88967 + r88972;
        double r88974 = r88953 * r88973;
        double r88975 = r88964 * r88974;
        double r88976 = r88961 + r88975;
        double r88977 = r88950 * r88953;
        double r88978 = exp(r88977);
        double r88979 = r88978 - r88958;
        double r88980 = r88976 * r88979;
        double r88981 = r88960 / r88980;
        double r88982 = 2.1920721130336317e+74;
        bool r88983 = r88950 <= r88982;
        double r88984 = exp(r88961);
        double r88985 = r88984 - r88958;
        double r88986 = 3.0;
        double r88987 = pow(r88953, r88986);
        double r88988 = pow(r88950, r88986);
        double r88989 = r88987 * r88988;
        double r88990 = r88968 * r88989;
        double r88991 = pow(r88953, r88962);
        double r88992 = r88965 * r88991;
        double r88993 = r88992 * r88950;
        double r88994 = r88953 + r88993;
        double r88995 = r88950 * r88994;
        double r88996 = r88990 + r88995;
        double r88997 = r88985 * r88996;
        double r88998 = r88960 / r88997;
        double r88999 = pow(r88959, r88986);
        double r89000 = cbrt(r88999);
        double r89001 = r88953 * r89000;
        double r89002 = r89001 / r88980;
        double r89003 = r88983 ? r88998 : r89002;
        double r89004 = r88952 ? r88981 : r89003;
        return r89004;
}

Error

Bits error versus a

Bits error versus b

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original60.6
Target14.8
Herbie53.1
\[\frac{a + b}{a \cdot b}\]

Derivation

  1. Split input into 3 regimes
  2. if b < -2.559152727206283e+73

    1. Initial program 54.5

      \[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    2. Taylor expanded around 0 46.6

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\color{blue}{\left(\frac{1}{6} \cdot \left({a}^{3} \cdot {\varepsilon}^{3}\right) + \left(\frac{1}{2} \cdot \left({a}^{2} \cdot {\varepsilon}^{2}\right) + a \cdot \varepsilon\right)\right)} \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    3. Simplified46.4

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\color{blue}{\left(a \cdot \varepsilon + {\varepsilon}^{2} \cdot \left(\left(\frac{1}{6} \cdot {a}^{3}\right) \cdot \varepsilon + \frac{1}{2} \cdot {a}^{2}\right)\right)} \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    4. Using strategy rm
    5. Applied sqr-pow46.4

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + \color{blue}{\left({\varepsilon}^{\left(\frac{2}{2}\right)} \cdot {\varepsilon}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(\left(\frac{1}{6} \cdot {a}^{3}\right) \cdot \varepsilon + \frac{1}{2} \cdot {a}^{2}\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    6. Applied associate-*l*46.1

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + \color{blue}{{\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left({\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\left(\frac{1}{6} \cdot {a}^{3}\right) \cdot \varepsilon + \frac{1}{2} \cdot {a}^{2}\right)\right)}\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    7. Simplified46.1

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \color{blue}{\left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left({a}^{3} \cdot \varepsilon\right)\right)\right)}\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    8. Using strategy rm
    9. Applied cube-mult46.1

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(\color{blue}{\left(a \cdot \left(a \cdot a\right)\right)} \cdot \varepsilon\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    10. Applied associate-*l*45.2

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \color{blue}{\left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)}\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]

    if -2.559152727206283e+73 < b < 2.1920721130336317e+74

    1. Initial program 63.4

      \[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    2. Taylor expanded around 0 56.3

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \color{blue}{\left(\frac{1}{6} \cdot \left({\varepsilon}^{3} \cdot {b}^{3}\right) + \left(\frac{1}{2} \cdot \left({\varepsilon}^{2} \cdot {b}^{2}\right) + \varepsilon \cdot b\right)\right)}}\]
    3. Simplified56.3

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \color{blue}{\left(\frac{1}{6} \cdot \left({\varepsilon}^{3} \cdot {b}^{3}\right) + b \cdot \left(\varepsilon + \left(\frac{1}{2} \cdot {\varepsilon}^{2}\right) \cdot b\right)\right)}}\]

    if 2.1920721130336317e+74 < b

    1. Initial program 53.7

      \[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    2. Taylor expanded around 0 48.1

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\color{blue}{\left(\frac{1}{6} \cdot \left({a}^{3} \cdot {\varepsilon}^{3}\right) + \left(\frac{1}{2} \cdot \left({a}^{2} \cdot {\varepsilon}^{2}\right) + a \cdot \varepsilon\right)\right)} \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    3. Simplified47.8

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\color{blue}{\left(a \cdot \varepsilon + {\varepsilon}^{2} \cdot \left(\left(\frac{1}{6} \cdot {a}^{3}\right) \cdot \varepsilon + \frac{1}{2} \cdot {a}^{2}\right)\right)} \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    4. Using strategy rm
    5. Applied sqr-pow47.8

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + \color{blue}{\left({\varepsilon}^{\left(\frac{2}{2}\right)} \cdot {\varepsilon}^{\left(\frac{2}{2}\right)}\right)} \cdot \left(\left(\frac{1}{6} \cdot {a}^{3}\right) \cdot \varepsilon + \frac{1}{2} \cdot {a}^{2}\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    6. Applied associate-*l*47.5

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + \color{blue}{{\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left({\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\left(\frac{1}{6} \cdot {a}^{3}\right) \cdot \varepsilon + \frac{1}{2} \cdot {a}^{2}\right)\right)}\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    7. Simplified47.5

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \color{blue}{\left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left({a}^{3} \cdot \varepsilon\right)\right)\right)}\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    8. Using strategy rm
    9. Applied cube-mult47.5

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(\color{blue}{\left(a \cdot \left(a \cdot a\right)\right)} \cdot \varepsilon\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    10. Applied associate-*l*46.3

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \color{blue}{\left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)}\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    11. Using strategy rm
    12. Applied add-cbrt-cube46.3

      \[\leadsto \frac{\varepsilon \cdot \color{blue}{\sqrt[3]{\left(\left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right) \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)\right) \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}}}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    13. Simplified46.3

      \[\leadsto \frac{\varepsilon \cdot \sqrt[3]{\color{blue}{{\left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}^{3}}}}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification53.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -2.55915272720628289 \cdot 10^{73}:\\ \;\;\;\;\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\\ \mathbf{elif}\;b \le 2.19207211303363165 \cdot 10^{74}:\\ \;\;\;\;\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(\frac{1}{6} \cdot \left({\varepsilon}^{3} \cdot {b}^{3}\right) + b \cdot \left(\varepsilon + \left(\frac{1}{2} \cdot {\varepsilon}^{2}\right) \cdot b\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\varepsilon \cdot \sqrt[3]{{\left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}^{3}}}{\left(a \cdot \varepsilon + {\varepsilon}^{\left(\frac{2}{2}\right)} \cdot \left(\varepsilon \cdot \left(\frac{1}{2} \cdot {a}^{2} + \frac{1}{6} \cdot \left(a \cdot \left(\left(a \cdot a\right) \cdot \varepsilon\right)\right)\right)\right)\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2020045 
(FPCore (a b eps)
  :name "expq3 (problem 3.4.2)"
  :precision binary64
  :pre (and (< -1 eps) (< eps 1))

  :herbie-target
  (/ (+ a b) (* a b))

  (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))))