x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}x \cdot e^{\sqrt[3]{\log z - t} \cdot \left(y \cdot \left(\sqrt[3]{\log z - t} \cdot \sqrt[3]{\log z - t}\right)\right) + a \cdot \left(\left(\left(\log 1 - \frac{1}{2} \cdot \left(\frac{z}{1} \cdot \frac{z}{1}\right)\right) - 1 \cdot z\right) - b\right)}double f(double x, double y, double z, double t, double a, double b) {
double r8359670 = x;
double r8359671 = y;
double r8359672 = z;
double r8359673 = log(r8359672);
double r8359674 = t;
double r8359675 = r8359673 - r8359674;
double r8359676 = r8359671 * r8359675;
double r8359677 = a;
double r8359678 = 1.0;
double r8359679 = r8359678 - r8359672;
double r8359680 = log(r8359679);
double r8359681 = b;
double r8359682 = r8359680 - r8359681;
double r8359683 = r8359677 * r8359682;
double r8359684 = r8359676 + r8359683;
double r8359685 = exp(r8359684);
double r8359686 = r8359670 * r8359685;
return r8359686;
}
double f(double x, double y, double z, double t, double a, double b) {
double r8359687 = x;
double r8359688 = z;
double r8359689 = log(r8359688);
double r8359690 = t;
double r8359691 = r8359689 - r8359690;
double r8359692 = cbrt(r8359691);
double r8359693 = y;
double r8359694 = r8359692 * r8359692;
double r8359695 = r8359693 * r8359694;
double r8359696 = r8359692 * r8359695;
double r8359697 = a;
double r8359698 = 1.0;
double r8359699 = log(r8359698);
double r8359700 = 0.5;
double r8359701 = r8359688 / r8359698;
double r8359702 = r8359701 * r8359701;
double r8359703 = r8359700 * r8359702;
double r8359704 = r8359699 - r8359703;
double r8359705 = r8359698 * r8359688;
double r8359706 = r8359704 - r8359705;
double r8359707 = b;
double r8359708 = r8359706 - r8359707;
double r8359709 = r8359697 * r8359708;
double r8359710 = r8359696 + r8359709;
double r8359711 = exp(r8359710);
double r8359712 = r8359687 * r8359711;
return r8359712;
}



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.8
Taylor expanded around 0 0.4
Simplified0.4
rmApplied add-cube-cbrt0.4
Applied associate-*r*0.4
Final simplification0.4
herbie shell --seed 2019168
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))