Average Error: 3.8 → 3.1
Time: 18.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)}}\]
\[\frac{x}{y \cdot e^{2 \cdot \left(\frac{\sqrt{t + a}}{t} \cdot z + \left(\left(a - \frac{\frac{2}{3}}{t}\right) + \frac{5}{6}\right) \cdot \left(c - b\right)\right)} + x}\]
\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)}}
\frac{x}{y \cdot e^{2 \cdot \left(\frac{\sqrt{t + a}}{t} \cdot z + \left(\left(a - \frac{\frac{2}{3}}{t}\right) + \frac{5}{6}\right) \cdot \left(c - b\right)\right)} + x}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r286791 = x;
        double r286792 = y;
        double r286793 = 2.0;
        double r286794 = z;
        double r286795 = t;
        double r286796 = a;
        double r286797 = r286795 + r286796;
        double r286798 = sqrt(r286797);
        double r286799 = r286794 * r286798;
        double r286800 = r286799 / r286795;
        double r286801 = b;
        double r286802 = c;
        double r286803 = r286801 - r286802;
        double r286804 = 5.0;
        double r286805 = 6.0;
        double r286806 = r286804 / r286805;
        double r286807 = r286796 + r286806;
        double r286808 = 3.0;
        double r286809 = r286795 * r286808;
        double r286810 = r286793 / r286809;
        double r286811 = r286807 - r286810;
        double r286812 = r286803 * r286811;
        double r286813 = r286800 - r286812;
        double r286814 = r286793 * r286813;
        double r286815 = exp(r286814);
        double r286816 = r286792 * r286815;
        double r286817 = r286791 + r286816;
        double r286818 = r286791 / r286817;
        return r286818;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r286819 = x;
        double r286820 = y;
        double r286821 = 2.0;
        double r286822 = t;
        double r286823 = a;
        double r286824 = r286822 + r286823;
        double r286825 = sqrt(r286824);
        double r286826 = r286825 / r286822;
        double r286827 = z;
        double r286828 = r286826 * r286827;
        double r286829 = 3.0;
        double r286830 = r286821 / r286829;
        double r286831 = r286830 / r286822;
        double r286832 = r286823 - r286831;
        double r286833 = 5.0;
        double r286834 = 6.0;
        double r286835 = r286833 / r286834;
        double r286836 = r286832 + r286835;
        double r286837 = c;
        double r286838 = b;
        double r286839 = r286837 - r286838;
        double r286840 = r286836 * r286839;
        double r286841 = r286828 + r286840;
        double r286842 = r286821 * r286841;
        double r286843 = exp(r286842);
        double r286844 = r286820 * r286843;
        double r286845 = r286844 + r286819;
        double r286846 = r286819 / r286845;
        return r286846;
}

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

Original3.8
Target2.9
Herbie3.1
\[\begin{array}{l} \mathbf{if}\;t \lt -2.118326644891581057561884576920117070548 \cdot 10^{-50}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.8333333333333333703407674875052180141211 \cdot c\right) - a \cdot b\right)}}\\ \mathbf{elif}\;t \lt 5.196588770651547088010424937268931048836 \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. Initial program 3.8

    \[\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. Simplified3.1

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

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

Reproduce

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

  :herbie-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)))) (* (* (* t 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)))))))))))