\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 r66620 = x;
double r66621 = y;
double r66622 = r66620 * r66621;
double r66623 = z;
double r66624 = r66622 + r66623;
double r66625 = r66624 * r66621;
double r66626 = 27464.7644705;
double r66627 = r66625 + r66626;
double r66628 = r66627 * r66621;
double r66629 = 230661.510616;
double r66630 = r66628 + r66629;
double r66631 = r66630 * r66621;
double r66632 = t;
double r66633 = r66631 + r66632;
double r66634 = a;
double r66635 = r66621 + r66634;
double r66636 = r66635 * r66621;
double r66637 = b;
double r66638 = r66636 + r66637;
double r66639 = r66638 * r66621;
double r66640 = c;
double r66641 = r66639 + r66640;
double r66642 = r66641 * r66621;
double r66643 = i;
double r66644 = r66642 + r66643;
double r66645 = r66633 / r66644;
return r66645;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r66646 = x;
double r66647 = y;
double r66648 = r66646 * r66647;
double r66649 = z;
double r66650 = r66648 + r66649;
double r66651 = r66650 * r66647;
double r66652 = 27464.7644705;
double r66653 = r66651 + r66652;
double r66654 = r66653 * r66647;
double r66655 = 230661.510616;
double r66656 = r66654 + r66655;
double r66657 = r66656 * r66647;
double r66658 = t;
double r66659 = r66657 + r66658;
double r66660 = 1.0;
double r66661 = a;
double r66662 = r66647 + r66661;
double r66663 = r66662 * r66647;
double r66664 = b;
double r66665 = r66663 + r66664;
double r66666 = r66665 * r66647;
double r66667 = c;
double r66668 = r66666 + r66667;
double r66669 = r66668 * r66647;
double r66670 = i;
double r66671 = r66669 + r66670;
double r66672 = r66660 / r66671;
double r66673 = r66659 * r66672;
return r66673;
}



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