\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}{x + y \cdot e^{2 \cdot \log \left(e^{\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)}}double f(double x, double y, double z, double t, double a, double b, double c) {
double r77672 = x;
double r77673 = y;
double r77674 = 2.0;
double r77675 = z;
double r77676 = t;
double r77677 = a;
double r77678 = r77676 + r77677;
double r77679 = sqrt(r77678);
double r77680 = r77675 * r77679;
double r77681 = r77680 / r77676;
double r77682 = b;
double r77683 = c;
double r77684 = r77682 - r77683;
double r77685 = 5.0;
double r77686 = 6.0;
double r77687 = r77685 / r77686;
double r77688 = r77677 + r77687;
double r77689 = 3.0;
double r77690 = r77676 * r77689;
double r77691 = r77674 / r77690;
double r77692 = r77688 - r77691;
double r77693 = r77684 * r77692;
double r77694 = r77681 - r77693;
double r77695 = r77674 * r77694;
double r77696 = exp(r77695);
double r77697 = r77673 * r77696;
double r77698 = r77672 + r77697;
double r77699 = r77672 / r77698;
return r77699;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r77700 = x;
double r77701 = y;
double r77702 = 2.0;
double r77703 = z;
double r77704 = t;
double r77705 = a;
double r77706 = r77704 + r77705;
double r77707 = sqrt(r77706);
double r77708 = r77703 * r77707;
double r77709 = r77708 / r77704;
double r77710 = b;
double r77711 = c;
double r77712 = r77710 - r77711;
double r77713 = 5.0;
double r77714 = 6.0;
double r77715 = r77713 / r77714;
double r77716 = r77705 + r77715;
double r77717 = 3.0;
double r77718 = r77704 * r77717;
double r77719 = r77702 / r77718;
double r77720 = r77716 - r77719;
double r77721 = r77712 * r77720;
double r77722 = r77709 - r77721;
double r77723 = exp(r77722);
double r77724 = log(r77723);
double r77725 = r77702 * r77724;
double r77726 = exp(r77725);
double r77727 = r77701 * r77726;
double r77728 = r77700 + r77727;
double r77729 = r77700 / r77728;
return r77729;
}



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
Results
Initial program 3.8
rmApplied add-log-exp8.0
Applied add-log-exp16.3
Applied diff-log16.3
Simplified3.8
Final simplification3.8
herbie shell --seed 2020001
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))