\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + 0.3333333333333333 \cdot \left(x \cdot \log y\right)\right) - y\right) + \left(\log t - z\right)(FPCore (x y z t) :precision binary64 (+ (- (- (* x (log y)) y) z) (log t)))
(FPCore (x y z t) :precision binary64 (+ (- (+ (* x (* 2.0 (log (cbrt y)))) (* 0.3333333333333333 (* x (log y)))) y) (- (log t) z)))
double code(double x, double y, double z, double t) {
return (((x * log(y)) - y) - z) + log(t);
}
double code(double x, double y, double z, double t) {
return (((x * (2.0 * log(cbrt(y)))) + (0.3333333333333333 * (x * log(y)))) - y) + (log(t) - z);
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 0.1
Simplified0.1
rmApplied add-cube-cbrt_binary64_31820.1
Applied log-prod_binary64_32330.1
Applied distribute-rgt-in_binary64_30970.1
Simplified0.1
rmApplied pow1/3_binary64_32290.1
Applied log-pow_binary64_32360.1
Applied associate-*l*_binary64_30880.1
Final simplification0.1
herbie shell --seed 2021176
(FPCore (x y z t)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
:precision binary64
(+ (- (- (* x (log y)) y) z) (log t)))