\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 r60768 = x;
double r60769 = y;
double r60770 = r60768 * r60769;
double r60771 = z;
double r60772 = r60770 + r60771;
double r60773 = r60772 * r60769;
double r60774 = 27464.7644705;
double r60775 = r60773 + r60774;
double r60776 = r60775 * r60769;
double r60777 = 230661.510616;
double r60778 = r60776 + r60777;
double r60779 = r60778 * r60769;
double r60780 = t;
double r60781 = r60779 + r60780;
double r60782 = a;
double r60783 = r60769 + r60782;
double r60784 = r60783 * r60769;
double r60785 = b;
double r60786 = r60784 + r60785;
double r60787 = r60786 * r60769;
double r60788 = c;
double r60789 = r60787 + r60788;
double r60790 = r60789 * r60769;
double r60791 = i;
double r60792 = r60790 + r60791;
double r60793 = r60781 / r60792;
return r60793;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r60794 = x;
double r60795 = y;
double r60796 = r60794 * r60795;
double r60797 = z;
double r60798 = r60796 + r60797;
double r60799 = r60798 * r60795;
double r60800 = 27464.7644705;
double r60801 = r60799 + r60800;
double r60802 = r60801 * r60795;
double r60803 = 230661.510616;
double r60804 = r60802 + r60803;
double r60805 = r60804 * r60795;
double r60806 = t;
double r60807 = r60805 + r60806;
double r60808 = 1.0;
double r60809 = a;
double r60810 = r60795 + r60809;
double r60811 = r60810 * r60795;
double r60812 = b;
double r60813 = r60811 + r60812;
double r60814 = r60813 * r60795;
double r60815 = c;
double r60816 = r60814 + r60815;
double r60817 = r60816 * r60795;
double r60818 = i;
double r60819 = r60817 + r60818;
double r60820 = r60808 / r60819;
double r60821 = r60807 * r60820;
return r60821;
}



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.8
rmApplied div-inv28.9
Final simplification28.9
herbie shell --seed 2019303
(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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))