\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 r56178 = x;
double r56179 = y;
double r56180 = r56178 * r56179;
double r56181 = z;
double r56182 = r56180 + r56181;
double r56183 = r56182 * r56179;
double r56184 = 27464.7644705;
double r56185 = r56183 + r56184;
double r56186 = r56185 * r56179;
double r56187 = 230661.510616;
double r56188 = r56186 + r56187;
double r56189 = r56188 * r56179;
double r56190 = t;
double r56191 = r56189 + r56190;
double r56192 = a;
double r56193 = r56179 + r56192;
double r56194 = r56193 * r56179;
double r56195 = b;
double r56196 = r56194 + r56195;
double r56197 = r56196 * r56179;
double r56198 = c;
double r56199 = r56197 + r56198;
double r56200 = r56199 * r56179;
double r56201 = i;
double r56202 = r56200 + r56201;
double r56203 = r56191 / r56202;
return r56203;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r56204 = x;
double r56205 = y;
double r56206 = r56204 * r56205;
double r56207 = z;
double r56208 = r56206 + r56207;
double r56209 = r56208 * r56205;
double r56210 = 27464.7644705;
double r56211 = r56209 + r56210;
double r56212 = r56211 * r56205;
double r56213 = 230661.510616;
double r56214 = r56212 + r56213;
double r56215 = r56214 * r56205;
double r56216 = t;
double r56217 = r56215 + r56216;
double r56218 = 1.0;
double r56219 = a;
double r56220 = r56205 + r56219;
double r56221 = r56220 * r56205;
double r56222 = b;
double r56223 = r56221 + r56222;
double r56224 = r56223 * r56205;
double r56225 = c;
double r56226 = r56224 + r56225;
double r56227 = r56226 * r56205;
double r56228 = i;
double r56229 = r56227 + r56228;
double r56230 = r56218 / r56229;
double r56231 = r56217 * r56230;
return r56231;
}



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