\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 r54685 = x;
double r54686 = y;
double r54687 = r54685 * r54686;
double r54688 = z;
double r54689 = r54687 + r54688;
double r54690 = r54689 * r54686;
double r54691 = 27464.7644705;
double r54692 = r54690 + r54691;
double r54693 = r54692 * r54686;
double r54694 = 230661.510616;
double r54695 = r54693 + r54694;
double r54696 = r54695 * r54686;
double r54697 = t;
double r54698 = r54696 + r54697;
double r54699 = a;
double r54700 = r54686 + r54699;
double r54701 = r54700 * r54686;
double r54702 = b;
double r54703 = r54701 + r54702;
double r54704 = r54703 * r54686;
double r54705 = c;
double r54706 = r54704 + r54705;
double r54707 = r54706 * r54686;
double r54708 = i;
double r54709 = r54707 + r54708;
double r54710 = r54698 / r54709;
return r54710;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r54711 = x;
double r54712 = y;
double r54713 = r54711 * r54712;
double r54714 = z;
double r54715 = r54713 + r54714;
double r54716 = r54715 * r54712;
double r54717 = 27464.7644705;
double r54718 = r54716 + r54717;
double r54719 = r54718 * r54712;
double r54720 = 230661.510616;
double r54721 = r54719 + r54720;
double r54722 = r54721 * r54712;
double r54723 = t;
double r54724 = r54722 + r54723;
double r54725 = 1.0;
double r54726 = a;
double r54727 = r54712 + r54726;
double r54728 = r54727 * r54712;
double r54729 = b;
double r54730 = r54728 + r54729;
double r54731 = r54730 * r54712;
double r54732 = c;
double r54733 = r54731 + r54732;
double r54734 = r54733 * r54712;
double r54735 = i;
double r54736 = r54734 + r54735;
double r54737 = r54725 / r54736;
double r54738 = r54724 * r54737;
return r54738;
}



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