\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 \left(\sqrt{y}\right) + \left(\log \left(\sqrt{y}\right) \cdot x + z\right)\right) + t\right) + a\right) + \left(\left(b - 0.5\right) \cdot \left(2 \cdot \log \left(\sqrt[3]{c}\right)\right) + \left(b - 0.5\right) \cdot \log \left(\sqrt[3]{c}\right)\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r82033 = x;
double r82034 = y;
double r82035 = log(r82034);
double r82036 = r82033 * r82035;
double r82037 = z;
double r82038 = r82036 + r82037;
double r82039 = t;
double r82040 = r82038 + r82039;
double r82041 = a;
double r82042 = r82040 + r82041;
double r82043 = b;
double r82044 = 0.5;
double r82045 = r82043 - r82044;
double r82046 = c;
double r82047 = log(r82046);
double r82048 = r82045 * r82047;
double r82049 = r82042 + r82048;
double r82050 = i;
double r82051 = r82034 * r82050;
double r82052 = r82049 + r82051;
return r82052;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r82053 = x;
double r82054 = y;
double r82055 = sqrt(r82054);
double r82056 = log(r82055);
double r82057 = r82053 * r82056;
double r82058 = r82056 * r82053;
double r82059 = z;
double r82060 = r82058 + r82059;
double r82061 = r82057 + r82060;
double r82062 = t;
double r82063 = r82061 + r82062;
double r82064 = a;
double r82065 = r82063 + r82064;
double r82066 = b;
double r82067 = 0.5;
double r82068 = r82066 - r82067;
double r82069 = 2.0;
double r82070 = c;
double r82071 = cbrt(r82070);
double r82072 = log(r82071);
double r82073 = r82069 * r82072;
double r82074 = r82068 * r82073;
double r82075 = r82068 * r82072;
double r82076 = r82074 + r82075;
double r82077 = r82065 + r82076;
double r82078 = i;
double r82079 = r82054 * r82078;
double r82080 = r82077 + r82079;
return r82080;
}



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-+l+0.1
Simplified0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019303
(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)))