\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{1}{\left(\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i\right) \cdot \frac{1}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r67989 = x;
double r67990 = y;
double r67991 = r67989 * r67990;
double r67992 = z;
double r67993 = r67991 + r67992;
double r67994 = r67993 * r67990;
double r67995 = 27464.7644705;
double r67996 = r67994 + r67995;
double r67997 = r67996 * r67990;
double r67998 = 230661.510616;
double r67999 = r67997 + r67998;
double r68000 = r67999 * r67990;
double r68001 = t;
double r68002 = r68000 + r68001;
double r68003 = a;
double r68004 = r67990 + r68003;
double r68005 = r68004 * r67990;
double r68006 = b;
double r68007 = r68005 + r68006;
double r68008 = r68007 * r67990;
double r68009 = c;
double r68010 = r68008 + r68009;
double r68011 = r68010 * r67990;
double r68012 = i;
double r68013 = r68011 + r68012;
double r68014 = r68002 / r68013;
return r68014;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r68015 = 1.0;
double r68016 = y;
double r68017 = a;
double r68018 = r68016 + r68017;
double r68019 = r68018 * r68016;
double r68020 = b;
double r68021 = r68019 + r68020;
double r68022 = r68021 * r68016;
double r68023 = c;
double r68024 = r68022 + r68023;
double r68025 = r68024 * r68016;
double r68026 = i;
double r68027 = r68025 + r68026;
double r68028 = x;
double r68029 = r68028 * r68016;
double r68030 = z;
double r68031 = r68029 + r68030;
double r68032 = r68031 * r68016;
double r68033 = 27464.7644705;
double r68034 = r68032 + r68033;
double r68035 = r68034 * r68016;
double r68036 = 230661.510616;
double r68037 = r68035 + r68036;
double r68038 = r68037 * r68016;
double r68039 = t;
double r68040 = r68038 + r68039;
double r68041 = r68015 / r68040;
double r68042 = r68027 * r68041;
double r68043 = r68015 / r68042;
return r68043;
}



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
rmApplied clear-num29.1
rmApplied div-inv29.1
Final simplification29.1
herbie shell --seed 2020018
(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.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))