\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}\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + \frac{471841060772561}{17179869184}\right) \cdot y + \frac{7925469156333415}{34359738368}\right) \cdot y + t}{\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 r77789 = x;
double r77790 = y;
double r77791 = r77789 * r77790;
double r77792 = z;
double r77793 = r77791 + r77792;
double r77794 = r77793 * r77790;
double r77795 = 27464.7644705;
double r77796 = r77794 + r77795;
double r77797 = r77796 * r77790;
double r77798 = 230661.510616;
double r77799 = r77797 + r77798;
double r77800 = r77799 * r77790;
double r77801 = t;
double r77802 = r77800 + r77801;
double r77803 = a;
double r77804 = r77790 + r77803;
double r77805 = r77804 * r77790;
double r77806 = b;
double r77807 = r77805 + r77806;
double r77808 = r77807 * r77790;
double r77809 = c;
double r77810 = r77808 + r77809;
double r77811 = r77810 * r77790;
double r77812 = i;
double r77813 = r77811 + r77812;
double r77814 = r77802 / r77813;
return r77814;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r77815 = x;
double r77816 = y;
double r77817 = r77815 * r77816;
double r77818 = z;
double r77819 = r77817 + r77818;
double r77820 = r77819 * r77816;
double r77821 = 471841060772561.0;
double r77822 = 17179869184.0;
double r77823 = r77821 / r77822;
double r77824 = r77820 + r77823;
double r77825 = r77824 * r77816;
double r77826 = 7925469156333415.0;
double r77827 = 34359738368.0;
double r77828 = r77826 / r77827;
double r77829 = r77825 + r77828;
double r77830 = r77829 * r77816;
double r77831 = t;
double r77832 = r77830 + r77831;
double r77833 = a;
double r77834 = r77816 + r77833;
double r77835 = r77834 * r77816;
double r77836 = b;
double r77837 = r77835 + r77836;
double r77838 = r77837 * r77816;
double r77839 = c;
double r77840 = r77838 + r77839;
double r77841 = r77840 * r77816;
double r77842 = i;
double r77843 = r77841 + r77842;
double r77844 = r77832 / r77843;
return r77844;
}



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.8
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)))