\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{1 \cdot \left(\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t\right)}{\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 r63765 = x;
double r63766 = y;
double r63767 = r63765 * r63766;
double r63768 = z;
double r63769 = r63767 + r63768;
double r63770 = r63769 * r63766;
double r63771 = 27464.7644705;
double r63772 = r63770 + r63771;
double r63773 = r63772 * r63766;
double r63774 = 230661.510616;
double r63775 = r63773 + r63774;
double r63776 = r63775 * r63766;
double r63777 = t;
double r63778 = r63776 + r63777;
double r63779 = a;
double r63780 = r63766 + r63779;
double r63781 = r63780 * r63766;
double r63782 = b;
double r63783 = r63781 + r63782;
double r63784 = r63783 * r63766;
double r63785 = c;
double r63786 = r63784 + r63785;
double r63787 = r63786 * r63766;
double r63788 = i;
double r63789 = r63787 + r63788;
double r63790 = r63778 / r63789;
return r63790;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r63791 = 1.0;
double r63792 = x;
double r63793 = y;
double r63794 = r63792 * r63793;
double r63795 = z;
double r63796 = r63794 + r63795;
double r63797 = r63796 * r63793;
double r63798 = 27464.7644705;
double r63799 = r63797 + r63798;
double r63800 = r63799 * r63793;
double r63801 = 230661.510616;
double r63802 = r63800 + r63801;
double r63803 = r63802 * r63793;
double r63804 = t;
double r63805 = r63803 + r63804;
double r63806 = r63791 * r63805;
double r63807 = a;
double r63808 = r63793 + r63807;
double r63809 = r63808 * r63793;
double r63810 = b;
double r63811 = r63809 + r63810;
double r63812 = r63811 * r63793;
double r63813 = c;
double r63814 = r63812 + r63813;
double r63815 = r63814 * r63793;
double r63816 = i;
double r63817 = r63815 + r63816;
double r63818 = r63806 / r63817;
return r63818;
}



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 29.3
rmApplied div-inv29.4
rmApplied add-cube-cbrt29.9
Applied add-sqr-sqrt29.9
Applied times-frac29.9
Applied associate-*r*29.9
Simplified29.9
rmApplied frac-times29.9
Applied frac-times29.9
Simplified29.9
Simplified29.3
Final simplification29.3
herbie shell --seed 2019291
(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)))