\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(230661.5106160000141244381666183471679688 + \left(27464.7644704999984242022037506103515625 + \left(\left(y \cdot y\right) \cdot x + z \cdot y\right)\right) \cdot y\right) \cdot y + t\right) \cdot \frac{1}{i + y \cdot \left(c + y \cdot \left(y \cdot \left(a + y\right) + b\right)\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r73128 = x;
double r73129 = y;
double r73130 = r73128 * r73129;
double r73131 = z;
double r73132 = r73130 + r73131;
double r73133 = r73132 * r73129;
double r73134 = 27464.7644705;
double r73135 = r73133 + r73134;
double r73136 = r73135 * r73129;
double r73137 = 230661.510616;
double r73138 = r73136 + r73137;
double r73139 = r73138 * r73129;
double r73140 = t;
double r73141 = r73139 + r73140;
double r73142 = a;
double r73143 = r73129 + r73142;
double r73144 = r73143 * r73129;
double r73145 = b;
double r73146 = r73144 + r73145;
double r73147 = r73146 * r73129;
double r73148 = c;
double r73149 = r73147 + r73148;
double r73150 = r73149 * r73129;
double r73151 = i;
double r73152 = r73150 + r73151;
double r73153 = r73141 / r73152;
return r73153;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r73154 = 230661.510616;
double r73155 = 27464.7644705;
double r73156 = y;
double r73157 = r73156 * r73156;
double r73158 = x;
double r73159 = r73157 * r73158;
double r73160 = z;
double r73161 = r73160 * r73156;
double r73162 = r73159 + r73161;
double r73163 = r73155 + r73162;
double r73164 = r73163 * r73156;
double r73165 = r73154 + r73164;
double r73166 = r73165 * r73156;
double r73167 = t;
double r73168 = r73166 + r73167;
double r73169 = 1.0;
double r73170 = i;
double r73171 = c;
double r73172 = a;
double r73173 = r73172 + r73156;
double r73174 = r73156 * r73173;
double r73175 = b;
double r73176 = r73174 + r73175;
double r73177 = r73156 * r73176;
double r73178 = r73171 + r73177;
double r73179 = r73156 * r73178;
double r73180 = r73170 + r73179;
double r73181 = r73169 / r73180;
double r73182 = r73168 * r73181;
return r73182;
}



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.0
Taylor expanded around 0 29.0
Simplified29.0
rmApplied div-inv29.1
Simplified29.1
Final simplification29.1
herbie shell --seed 2019196
(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)))