double f(double x, double y, double z, double t, double a, double b, double c) {
double r24563805 = x;
double r24563806 = y;
double r24563807 = 2.0;
double r24563808 = z;
double r24563809 = t;
double r24563810 = a;
double r24563811 = r24563809 + r24563810;
double r24563812 = sqrt(r24563811);
double r24563813 = r24563808 * r24563812;
double r24563814 = r24563813 / r24563809;
double r24563815 = b;
double r24563816 = c;
double r24563817 = r24563815 - r24563816;
double r24563818 = 5.0;
double r24563819 = 6.0;
double r24563820 = r24563818 / r24563819;
double r24563821 = r24563810 + r24563820;
double r24563822 = 3.0;
double r24563823 = r24563809 * r24563822;
double r24563824 = r24563807 / r24563823;
double r24563825 = r24563821 - r24563824;
double r24563826 = r24563817 * r24563825;
double r24563827 = r24563814 - r24563826;
double r24563828 = r24563807 * r24563827;
double r24563829 = exp(r24563828);
double r24563830 = r24563806 * r24563829;
double r24563831 = r24563805 + r24563830;
double r24563832 = r24563805 / r24563831;
return r24563832;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r24563833 = x;
double r24563834 = y;
double r24563835 = 2.0;
double r24563836 = z;
double r24563837 = cbrt(r24563836);
double r24563838 = t;
double r24563839 = cbrt(r24563838);
double r24563840 = r24563837 / r24563839;
double r24563841 = r24563840 * r24563840;
double r24563842 = a;
double r24563843 = r24563838 + r24563842;
double r24563844 = sqrt(r24563843);
double r24563845 = r24563839 / r24563837;
double r24563846 = r24563844 / r24563845;
double r24563847 = b;
double r24563848 = c;
double r24563849 = r24563847 - r24563848;
double r24563850 = -r24563849;
double r24563851 = 3.0;
double r24563852 = r24563851 * r24563838;
double r24563853 = r24563835 / r24563852;
double r24563854 = r24563842 - r24563853;
double r24563855 = 5.0;
double r24563856 = 6.0;
double r24563857 = r24563855 / r24563856;
double r24563858 = r24563854 + r24563857;
double r24563859 = r24563850 * r24563858;
double r24563860 = fma(r24563841, r24563846, r24563859);
double r24563861 = r24563835 * r24563860;
double r24563862 = exp(r24563861);
double r24563863 = fma(r24563834, r24563862, r24563833);
double r24563864 = r24563833 / r24563863;
return r24563864;
}
\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\frac{x}{(y \cdot \left(e^{2.0 \cdot (\left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right) \cdot \left(\frac{\sqrt{t + a}}{\frac{\sqrt[3]{t}}{\sqrt[3]{z}}}\right) + \left(\left(-\left(b - c\right)\right) \cdot \left(\left(a - \frac{2.0}{3.0 \cdot t}\right) + \frac{5.0}{6.0}\right)\right))_*}\right) + x)_*}


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c
Initial program 4.0
Simplified3.0
rmApplied add-cube-cbrt3.0
Applied add-cube-cbrt3.0
Applied times-frac3.0
Applied *-un-lft-identity3.0
Applied times-frac2.7
Applied fma-neg1.5
Simplified1.5
Final simplification1.5
herbie shell --seed 2019102 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))