\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 r65660 = x;
double r65661 = y;
double r65662 = r65660 * r65661;
double r65663 = z;
double r65664 = r65662 + r65663;
double r65665 = r65664 * r65661;
double r65666 = 27464.7644705;
double r65667 = r65665 + r65666;
double r65668 = r65667 * r65661;
double r65669 = 230661.510616;
double r65670 = r65668 + r65669;
double r65671 = r65670 * r65661;
double r65672 = t;
double r65673 = r65671 + r65672;
double r65674 = a;
double r65675 = r65661 + r65674;
double r65676 = r65675 * r65661;
double r65677 = b;
double r65678 = r65676 + r65677;
double r65679 = r65678 * r65661;
double r65680 = c;
double r65681 = r65679 + r65680;
double r65682 = r65681 * r65661;
double r65683 = i;
double r65684 = r65682 + r65683;
double r65685 = r65673 / r65684;
return r65685;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r65686 = x;
double r65687 = y;
double r65688 = r65686 * r65687;
double r65689 = z;
double r65690 = r65688 + r65689;
double r65691 = r65690 * r65687;
double r65692 = 27464.7644705;
double r65693 = r65691 + r65692;
double r65694 = r65693 * r65687;
double r65695 = 230661.510616;
double r65696 = r65694 + r65695;
double r65697 = r65696 * r65687;
double r65698 = t;
double r65699 = r65697 + r65698;
double r65700 = 1.0;
double r65701 = a;
double r65702 = r65687 + r65701;
double r65703 = r65702 * r65687;
double r65704 = b;
double r65705 = r65703 + r65704;
double r65706 = r65705 * r65687;
double r65707 = c;
double r65708 = r65706 + r65707;
double r65709 = r65708 * r65687;
double r65710 = i;
double r65711 = r65709 + r65710;
double r65712 = r65700 / r65711;
double r65713 = r65699 * r65712;
return r65713;
}



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.7
rmApplied div-inv28.8
Final simplification28.8
herbie shell --seed 2019323
(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)))