\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{\frac{1}{i + y \cdot \left(\left(b + \left(y + a\right) \cdot y\right) \cdot y + c\right)}}{\frac{1}{t + y \cdot \left(230661.5106160000141244381666183471679688 + y \cdot \left(27464.7644704999984242022037506103515625 + \left(y \cdot x + z\right) \cdot y\right)\right)}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r5101150 = x;
double r5101151 = y;
double r5101152 = r5101150 * r5101151;
double r5101153 = z;
double r5101154 = r5101152 + r5101153;
double r5101155 = r5101154 * r5101151;
double r5101156 = 27464.7644705;
double r5101157 = r5101155 + r5101156;
double r5101158 = r5101157 * r5101151;
double r5101159 = 230661.510616;
double r5101160 = r5101158 + r5101159;
double r5101161 = r5101160 * r5101151;
double r5101162 = t;
double r5101163 = r5101161 + r5101162;
double r5101164 = a;
double r5101165 = r5101151 + r5101164;
double r5101166 = r5101165 * r5101151;
double r5101167 = b;
double r5101168 = r5101166 + r5101167;
double r5101169 = r5101168 * r5101151;
double r5101170 = c;
double r5101171 = r5101169 + r5101170;
double r5101172 = r5101171 * r5101151;
double r5101173 = i;
double r5101174 = r5101172 + r5101173;
double r5101175 = r5101163 / r5101174;
return r5101175;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r5101176 = 1.0;
double r5101177 = i;
double r5101178 = y;
double r5101179 = b;
double r5101180 = a;
double r5101181 = r5101178 + r5101180;
double r5101182 = r5101181 * r5101178;
double r5101183 = r5101179 + r5101182;
double r5101184 = r5101183 * r5101178;
double r5101185 = c;
double r5101186 = r5101184 + r5101185;
double r5101187 = r5101178 * r5101186;
double r5101188 = r5101177 + r5101187;
double r5101189 = r5101176 / r5101188;
double r5101190 = t;
double r5101191 = 230661.510616;
double r5101192 = 27464.7644705;
double r5101193 = x;
double r5101194 = r5101178 * r5101193;
double r5101195 = z;
double r5101196 = r5101194 + r5101195;
double r5101197 = r5101196 * r5101178;
double r5101198 = r5101192 + r5101197;
double r5101199 = r5101178 * r5101198;
double r5101200 = r5101191 + r5101199;
double r5101201 = r5101178 * r5101200;
double r5101202 = r5101190 + r5101201;
double r5101203 = r5101176 / r5101202;
double r5101204 = r5101189 / r5101203;
return r5101204;
}



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.2
rmApplied clear-num29.4
rmApplied div-inv29.5
Applied associate-/r*29.3
Final simplification29.3
herbie shell --seed 2019174
(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)))