\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{\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}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r68121 = x;
double r68122 = y;
double r68123 = r68121 * r68122;
double r68124 = z;
double r68125 = r68123 + r68124;
double r68126 = r68125 * r68122;
double r68127 = 27464.7644705;
double r68128 = r68126 + r68127;
double r68129 = r68128 * r68122;
double r68130 = 230661.510616;
double r68131 = r68129 + r68130;
double r68132 = r68131 * r68122;
double r68133 = t;
double r68134 = r68132 + r68133;
double r68135 = a;
double r68136 = r68122 + r68135;
double r68137 = r68136 * r68122;
double r68138 = b;
double r68139 = r68137 + r68138;
double r68140 = r68139 * r68122;
double r68141 = c;
double r68142 = r68140 + r68141;
double r68143 = r68142 * r68122;
double r68144 = i;
double r68145 = r68143 + r68144;
double r68146 = r68134 / r68145;
return r68146;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r68147 = x;
double r68148 = y;
double r68149 = r68147 * r68148;
double r68150 = z;
double r68151 = r68149 + r68150;
double r68152 = r68151 * r68148;
double r68153 = 27464.7644705;
double r68154 = r68152 + r68153;
double r68155 = r68154 * r68148;
double r68156 = 230661.510616;
double r68157 = r68155 + r68156;
double r68158 = r68157 * r68148;
double r68159 = t;
double r68160 = r68158 + r68159;
double r68161 = a;
double r68162 = r68148 + r68161;
double r68163 = r68162 * r68148;
double r68164 = b;
double r68165 = r68163 + r68164;
double r68166 = r68165 * r68148;
double r68167 = c;
double r68168 = r68166 + r68167;
double r68169 = r68168 * r68148;
double r68170 = i;
double r68171 = r68169 + r68170;
double r68172 = r68160 / r68171;
return r68172;
}



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.6
Final simplification29.6
herbie shell --seed 2019304 +o rules:numerics
(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)))