\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t\right) \cdot \frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r59717 = x;
double r59718 = y;
double r59719 = r59717 * r59718;
double r59720 = z;
double r59721 = r59719 + r59720;
double r59722 = r59721 * r59718;
double r59723 = 27464.7644705;
double r59724 = r59722 + r59723;
double r59725 = r59724 * r59718;
double r59726 = 230661.510616;
double r59727 = r59725 + r59726;
double r59728 = r59727 * r59718;
double r59729 = t;
double r59730 = r59728 + r59729;
double r59731 = a;
double r59732 = r59718 + r59731;
double r59733 = r59732 * r59718;
double r59734 = b;
double r59735 = r59733 + r59734;
double r59736 = r59735 * r59718;
double r59737 = c;
double r59738 = r59736 + r59737;
double r59739 = r59738 * r59718;
double r59740 = i;
double r59741 = r59739 + r59740;
double r59742 = r59730 / r59741;
return r59742;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r59743 = x;
double r59744 = y;
double r59745 = r59743 * r59744;
double r59746 = z;
double r59747 = r59745 + r59746;
double r59748 = r59747 * r59744;
double r59749 = 27464.7644705;
double r59750 = r59748 + r59749;
double r59751 = r59750 * r59744;
double r59752 = 230661.510616;
double r59753 = r59751 + r59752;
double r59754 = r59753 * r59744;
double r59755 = t;
double r59756 = r59754 + r59755;
double r59757 = 1.0;
double r59758 = a;
double r59759 = r59744 + r59758;
double r59760 = r59759 * r59744;
double r59761 = b;
double r59762 = r59760 + r59761;
double r59763 = r59762 * r59744;
double r59764 = c;
double r59765 = r59763 + r59764;
double r59766 = r59765 * r59744;
double r59767 = i;
double r59768 = r59766 + r59767;
double r59769 = r59757 / r59768;
double r59770 = r59756 * r59769;
return r59770;
}



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



Bits error versus i
Results
Initial program 28.6
rmApplied div-inv28.6
Final simplification28.6
herbie shell --seed 2019325
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))