\left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i
\left(\left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \left(\log \left(\sqrt{c} \cdot \sqrt{\sqrt{\sqrt{c}}}\right) + \log \left(\sqrt{\sqrt{\sqrt{c}}}\right)\right)\right) + \left(b - 0.5\right) \cdot \log \left(\sqrt{\sqrt{c}}\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r72981 = x;
double r72982 = y;
double r72983 = log(r72982);
double r72984 = r72981 * r72983;
double r72985 = z;
double r72986 = r72984 + r72985;
double r72987 = t;
double r72988 = r72986 + r72987;
double r72989 = a;
double r72990 = r72988 + r72989;
double r72991 = b;
double r72992 = 0.5;
double r72993 = r72991 - r72992;
double r72994 = c;
double r72995 = log(r72994);
double r72996 = r72993 * r72995;
double r72997 = r72990 + r72996;
double r72998 = i;
double r72999 = r72982 * r72998;
double r73000 = r72997 + r72999;
return r73000;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r73001 = x;
double r73002 = y;
double r73003 = log(r73002);
double r73004 = r73001 * r73003;
double r73005 = z;
double r73006 = r73004 + r73005;
double r73007 = t;
double r73008 = r73006 + r73007;
double r73009 = a;
double r73010 = r73008 + r73009;
double r73011 = b;
double r73012 = 0.5;
double r73013 = r73011 - r73012;
double r73014 = c;
double r73015 = sqrt(r73014);
double r73016 = sqrt(r73015);
double r73017 = sqrt(r73016);
double r73018 = r73015 * r73017;
double r73019 = log(r73018);
double r73020 = log(r73017);
double r73021 = r73019 + r73020;
double r73022 = r73013 * r73021;
double r73023 = r73010 + r73022;
double r73024 = log(r73016);
double r73025 = r73013 * r73024;
double r73026 = r73023 + r73025;
double r73027 = i;
double r73028 = r73002 * r73027;
double r73029 = r73026 + r73028;
return r73029;
}



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 0.1
rmApplied add-sqr-sqrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Applied associate-+r+0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Applied associate-+r+0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied sqrt-prod0.1
Applied sqrt-prod0.1
Applied log-prod0.1
Applied associate-+r+0.1
rmApplied sum-log0.1
Final simplification0.1
herbie shell --seed 2019212
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, B"
:precision binary64
(+ (+ (+ (+ (+ (* x (log y)) z) t) a) (* (- b 0.5) (log c))) (* y i)))