\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{\frac{1}{x}}{\sqrt[3]{9.0}} \cdot e^{\log \left(\frac{1.0}{\sqrt[3]{9.0} \cdot \sqrt[3]{9.0}}\right)}\right) - 1.0\right)double f(double x, double y) {
double r18967991 = 3.0;
double r18967992 = x;
double r18967993 = sqrt(r18967992);
double r18967994 = r18967991 * r18967993;
double r18967995 = y;
double r18967996 = 1.0;
double r18967997 = 9.0;
double r18967998 = r18967992 * r18967997;
double r18967999 = r18967996 / r18967998;
double r18968000 = r18967995 + r18967999;
double r18968001 = r18968000 - r18967996;
double r18968002 = r18967994 * r18968001;
return r18968002;
}
double f(double x, double y) {
double r18968003 = 3.0;
double r18968004 = x;
double r18968005 = sqrt(r18968004);
double r18968006 = r18968003 * r18968005;
double r18968007 = y;
double r18968008 = 1.0;
double r18968009 = r18968008 / r18968004;
double r18968010 = 9.0;
double r18968011 = cbrt(r18968010);
double r18968012 = r18968009 / r18968011;
double r18968013 = 1.0;
double r18968014 = r18968011 * r18968011;
double r18968015 = r18968013 / r18968014;
double r18968016 = log(r18968015);
double r18968017 = exp(r18968016);
double r18968018 = r18968012 * r18968017;
double r18968019 = r18968007 + r18968018;
double r18968020 = r18968019 - r18968013;
double r18968021 = r18968006 * r18968020;
return r18968021;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.5 |
Initial program 0.4
rmApplied associate-/r*0.4
rmApplied add-cube-cbrt0.4
Applied div-inv0.4
Applied times-frac0.4
rmApplied add-exp-log0.4
Applied add-exp-log0.4
Applied prod-exp0.4
Applied add-exp-log0.4
Applied div-exp0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019165
(FPCore (x y)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
:herbie-target
(* 3.0 (+ (* y (sqrt x)) (* (- (/ 1.0 (* x 9.0)) 1.0) (sqrt x))))
(* (* 3.0 (sqrt x)) (- (+ y (/ 1.0 (* x 9.0))) 1.0)))