\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\frac{x}{\frac{\sqrt[3]{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \sqrt[3]{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}}} \cdot \frac{1}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}}}double f(double x, double y, double z, double t, double a, double b) {
double r3498817 = x;
double r3498818 = y;
double r3498819 = z;
double r3498820 = log(r3498819);
double r3498821 = r3498818 * r3498820;
double r3498822 = t;
double r3498823 = 1.0;
double r3498824 = r3498822 - r3498823;
double r3498825 = a;
double r3498826 = log(r3498825);
double r3498827 = r3498824 * r3498826;
double r3498828 = r3498821 + r3498827;
double r3498829 = b;
double r3498830 = r3498828 - r3498829;
double r3498831 = exp(r3498830);
double r3498832 = r3498817 * r3498831;
double r3498833 = r3498832 / r3498818;
return r3498833;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3498834 = x;
double r3498835 = y;
double r3498836 = cbrt(r3498835);
double r3498837 = cbrt(r3498836);
double r3498838 = r3498836 * r3498836;
double r3498839 = cbrt(r3498838);
double r3498840 = r3498837 * r3498839;
double r3498841 = cbrt(r3498840);
double r3498842 = r3498841 * r3498839;
double r3498843 = a;
double r3498844 = log(r3498843);
double r3498845 = t;
double r3498846 = 1.0;
double r3498847 = r3498845 - r3498846;
double r3498848 = r3498844 * r3498847;
double r3498849 = z;
double r3498850 = log(r3498849);
double r3498851 = r3498850 * r3498835;
double r3498852 = r3498848 + r3498851;
double r3498853 = b;
double r3498854 = r3498852 - r3498853;
double r3498855 = exp(r3498854);
double r3498856 = cbrt(r3498855);
double r3498857 = r3498842 / r3498856;
double r3498858 = r3498834 / r3498857;
double r3498859 = 1.0;
double r3498860 = r3498856 * r3498856;
double r3498861 = r3498838 / r3498860;
double r3498862 = r3498859 / r3498861;
double r3498863 = r3498858 * r3498862;
return r3498863;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Results
Initial program 1.9
rmApplied associate-/l*1.8
rmApplied add-cube-cbrt1.8
Applied add-cube-cbrt1.8
Applied times-frac1.8
Applied *-un-lft-identity1.8
Applied times-frac1.0
rmApplied add-cube-cbrt1.0
Applied cbrt-prod1.0
rmApplied add-cube-cbrt1.0
Applied cbrt-prod1.0
Final simplification1.0
herbie shell --seed 2019138
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))