\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\frac{x}{x + y \cdot e^{\left(\left(\frac{5}{6} + \left(a - \frac{\frac{2}{3}}{t}\right)\right) \cdot \left(c - b\right) + \frac{\sqrt{a + t}}{\sqrt[3]{t}} \cdot \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) \cdot 2}}double f(double x, double y, double z, double t, double a, double b, double c) {
double r125140 = x;
double r125141 = y;
double r125142 = 2.0;
double r125143 = z;
double r125144 = t;
double r125145 = a;
double r125146 = r125144 + r125145;
double r125147 = sqrt(r125146);
double r125148 = r125143 * r125147;
double r125149 = r125148 / r125144;
double r125150 = b;
double r125151 = c;
double r125152 = r125150 - r125151;
double r125153 = 5.0;
double r125154 = 6.0;
double r125155 = r125153 / r125154;
double r125156 = r125145 + r125155;
double r125157 = 3.0;
double r125158 = r125144 * r125157;
double r125159 = r125142 / r125158;
double r125160 = r125156 - r125159;
double r125161 = r125152 * r125160;
double r125162 = r125149 - r125161;
double r125163 = r125142 * r125162;
double r125164 = exp(r125163);
double r125165 = r125141 * r125164;
double r125166 = r125140 + r125165;
double r125167 = r125140 / r125166;
return r125167;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r125168 = x;
double r125169 = y;
double r125170 = 5.0;
double r125171 = 6.0;
double r125172 = r125170 / r125171;
double r125173 = a;
double r125174 = 2.0;
double r125175 = 3.0;
double r125176 = r125174 / r125175;
double r125177 = t;
double r125178 = r125176 / r125177;
double r125179 = r125173 - r125178;
double r125180 = r125172 + r125179;
double r125181 = c;
double r125182 = b;
double r125183 = r125181 - r125182;
double r125184 = r125180 * r125183;
double r125185 = r125173 + r125177;
double r125186 = sqrt(r125185);
double r125187 = cbrt(r125177);
double r125188 = r125186 / r125187;
double r125189 = z;
double r125190 = r125187 * r125187;
double r125191 = r125189 / r125190;
double r125192 = r125188 * r125191;
double r125193 = r125184 + r125192;
double r125194 = r125193 * r125174;
double r125195 = exp(r125194);
double r125196 = r125169 * r125195;
double r125197 = r125168 + r125196;
double r125198 = r125168 / r125197;
return r125198;
}



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
Results
Initial program 4.0
Simplified3.4
rmApplied add-cube-cbrt3.4
Applied *-un-lft-identity3.4
Applied sqrt-prod3.4
Applied times-frac3.4
Applied associate-*r*2.8
Simplified2.8
Final simplification2.8
herbie shell --seed 2019179
(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)))))))))))