\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}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(a + y, y, b\right), c\right), i\right)} \cdot \left(t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y\right)double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r68654 = x;
double r68655 = y;
double r68656 = r68654 * r68655;
double r68657 = z;
double r68658 = r68656 + r68657;
double r68659 = r68658 * r68655;
double r68660 = 27464.7644705;
double r68661 = r68659 + r68660;
double r68662 = r68661 * r68655;
double r68663 = 230661.510616;
double r68664 = r68662 + r68663;
double r68665 = r68664 * r68655;
double r68666 = t;
double r68667 = r68665 + r68666;
double r68668 = a;
double r68669 = r68655 + r68668;
double r68670 = r68669 * r68655;
double r68671 = b;
double r68672 = r68670 + r68671;
double r68673 = r68672 * r68655;
double r68674 = c;
double r68675 = r68673 + r68674;
double r68676 = r68675 * r68655;
double r68677 = i;
double r68678 = r68676 + r68677;
double r68679 = r68667 / r68678;
return r68679;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r68680 = 1.0;
double r68681 = y;
double r68682 = a;
double r68683 = r68682 + r68681;
double r68684 = b;
double r68685 = fma(r68683, r68681, r68684);
double r68686 = c;
double r68687 = fma(r68681, r68685, r68686);
double r68688 = i;
double r68689 = fma(r68681, r68687, r68688);
double r68690 = r68680 / r68689;
double r68691 = t;
double r68692 = z;
double r68693 = x;
double r68694 = r68693 * r68681;
double r68695 = r68692 + r68694;
double r68696 = r68681 * r68695;
double r68697 = 27464.7644705;
double r68698 = r68696 + r68697;
double r68699 = r68681 * r68698;
double r68700 = 230661.510616;
double r68701 = r68699 + r68700;
double r68702 = r68701 * r68681;
double r68703 = r68691 + r68702;
double r68704 = r68690 * r68703;
return r68704;
}



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
Initial program 29.1
rmApplied div-inv29.1
Simplified29.1
Final simplification29.1
herbie shell --seed 2019179 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))