\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\left(x - \frac{y}{z \cdot 3}\right) + \frac{\sqrt[3]{t}}{\sqrt[3]{y}} \cdot \left(\frac{\frac{\sqrt[3]{t}}{z}}{\sqrt[3]{y}} \cdot \frac{\frac{\sqrt[3]{t}}{3}}{\sqrt[3]{y}}\right)double f(double x, double y, double z, double t) {
double r29421965 = x;
double r29421966 = y;
double r29421967 = z;
double r29421968 = 3.0;
double r29421969 = r29421967 * r29421968;
double r29421970 = r29421966 / r29421969;
double r29421971 = r29421965 - r29421970;
double r29421972 = t;
double r29421973 = r29421969 * r29421966;
double r29421974 = r29421972 / r29421973;
double r29421975 = r29421971 + r29421974;
return r29421975;
}
double f(double x, double y, double z, double t) {
double r29421976 = x;
double r29421977 = y;
double r29421978 = z;
double r29421979 = 3.0;
double r29421980 = r29421978 * r29421979;
double r29421981 = r29421977 / r29421980;
double r29421982 = r29421976 - r29421981;
double r29421983 = t;
double r29421984 = cbrt(r29421983);
double r29421985 = cbrt(r29421977);
double r29421986 = r29421984 / r29421985;
double r29421987 = r29421984 / r29421978;
double r29421988 = r29421987 / r29421985;
double r29421989 = r29421984 / r29421979;
double r29421990 = r29421989 / r29421985;
double r29421991 = r29421988 * r29421990;
double r29421992 = r29421986 * r29421991;
double r29421993 = r29421982 + r29421992;
return r29421993;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 3.8 |
|---|---|
| Target | 1.8 |
| Herbie | 0.6 |
Initial program 3.8
rmApplied add-cube-cbrt4.1
Applied times-frac1.5
rmApplied add-cube-cbrt1.6
Applied *-un-lft-identity1.6
Applied cbrt-prod1.6
Applied times-frac1.6
Applied associate-*r*0.9
Simplified0.6
Final simplification0.6
herbie shell --seed 2019179 +o rules:numerics
(FPCore (x y z t)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, H"
:herbie-target
(+ (- x (/ y (* z 3.0))) (/ (/ t (* z 3.0)) y))
(+ (- x (/ y (* z 3.0))) (/ t (* (* z 3.0) y))))