\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(x \cdot \log y + z\right) + t\right) + a\right) + \left(\left(b - 0.5\right) \cdot \left(2 \cdot \log \left(\sqrt[3]{c}\right) + \log \left(\sqrt[3]{\sqrt{c}}\right)\right) + \log \left(\sqrt[3]{\sqrt{c}}\right) \cdot \left(b - 0.5\right)\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r86028 = x;
double r86029 = y;
double r86030 = log(r86029);
double r86031 = r86028 * r86030;
double r86032 = z;
double r86033 = r86031 + r86032;
double r86034 = t;
double r86035 = r86033 + r86034;
double r86036 = a;
double r86037 = r86035 + r86036;
double r86038 = b;
double r86039 = 0.5;
double r86040 = r86038 - r86039;
double r86041 = c;
double r86042 = log(r86041);
double r86043 = r86040 * r86042;
double r86044 = r86037 + r86043;
double r86045 = i;
double r86046 = r86029 * r86045;
double r86047 = r86044 + r86046;
return r86047;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r86048 = x;
double r86049 = y;
double r86050 = log(r86049);
double r86051 = r86048 * r86050;
double r86052 = z;
double r86053 = r86051 + r86052;
double r86054 = t;
double r86055 = r86053 + r86054;
double r86056 = a;
double r86057 = r86055 + r86056;
double r86058 = b;
double r86059 = 0.5;
double r86060 = r86058 - r86059;
double r86061 = 2.0;
double r86062 = c;
double r86063 = cbrt(r86062);
double r86064 = log(r86063);
double r86065 = r86061 * r86064;
double r86066 = sqrt(r86062);
double r86067 = cbrt(r86066);
double r86068 = log(r86067);
double r86069 = r86065 + r86068;
double r86070 = r86060 * r86069;
double r86071 = r86068 * r86060;
double r86072 = r86070 + r86071;
double r86073 = r86057 + r86072;
double r86074 = i;
double r86075 = r86049 * r86074;
double r86076 = r86073 + r86075;
return r86076;
}



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-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied cbrt-prod0.1
Applied log-prod0.1
Applied distribute-rgt-in0.1
Applied associate-+r+0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020062
(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)))