\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 + \frac{471841060772561}{17179869184}\right) \cdot y + \frac{7925469156333415}{34359738368}\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 r63099 = x;
double r63100 = y;
double r63101 = r63099 * r63100;
double r63102 = z;
double r63103 = r63101 + r63102;
double r63104 = r63103 * r63100;
double r63105 = 27464.7644705;
double r63106 = r63104 + r63105;
double r63107 = r63106 * r63100;
double r63108 = 230661.510616;
double r63109 = r63107 + r63108;
double r63110 = r63109 * r63100;
double r63111 = t;
double r63112 = r63110 + r63111;
double r63113 = a;
double r63114 = r63100 + r63113;
double r63115 = r63114 * r63100;
double r63116 = b;
double r63117 = r63115 + r63116;
double r63118 = r63117 * r63100;
double r63119 = c;
double r63120 = r63118 + r63119;
double r63121 = r63120 * r63100;
double r63122 = i;
double r63123 = r63121 + r63122;
double r63124 = r63112 / r63123;
return r63124;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r63125 = x;
double r63126 = y;
double r63127 = r63125 * r63126;
double r63128 = z;
double r63129 = r63127 + r63128;
double r63130 = r63129 * r63126;
double r63131 = 471841060772561.0;
double r63132 = 17179869184.0;
double r63133 = r63131 / r63132;
double r63134 = r63130 + r63133;
double r63135 = r63134 * r63126;
double r63136 = 7925469156333415.0;
double r63137 = 34359738368.0;
double r63138 = r63136 / r63137;
double r63139 = r63135 + r63138;
double r63140 = r63139 * r63126;
double r63141 = t;
double r63142 = r63140 + r63141;
double r63143 = a;
double r63144 = r63126 + r63143;
double r63145 = r63144 * r63126;
double r63146 = b;
double r63147 = r63145 + r63146;
double r63148 = r63147 * r63126;
double r63149 = c;
double r63150 = r63148 + r63149;
double r63151 = r63150 * r63126;
double r63152 = i;
double r63153 = r63151 + r63152;
double r63154 = r63142 / r63153;
return r63154;
}



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.8
Simplified28.8
rmApplied div-inv28.9
Final simplification28.8
herbie shell --seed 2019303
(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)))