\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}{\mathsf{fma}\left(y, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{\frac{2}{t}}{3} - \left(a + \frac{5}{6}\right), b - c, \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}}\right)\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r62103 = x;
double r62104 = y;
double r62105 = 2.0;
double r62106 = z;
double r62107 = t;
double r62108 = a;
double r62109 = r62107 + r62108;
double r62110 = sqrt(r62109);
double r62111 = r62106 * r62110;
double r62112 = r62111 / r62107;
double r62113 = b;
double r62114 = c;
double r62115 = r62113 - r62114;
double r62116 = 5.0;
double r62117 = 6.0;
double r62118 = r62116 / r62117;
double r62119 = r62108 + r62118;
double r62120 = 3.0;
double r62121 = r62107 * r62120;
double r62122 = r62105 / r62121;
double r62123 = r62119 - r62122;
double r62124 = r62115 * r62123;
double r62125 = r62112 - r62124;
double r62126 = r62105 * r62125;
double r62127 = exp(r62126);
double r62128 = r62104 * r62127;
double r62129 = r62103 + r62128;
double r62130 = r62103 / r62129;
return r62130;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r62131 = x;
double r62132 = y;
double r62133 = 2.0;
double r62134 = exp(r62133);
double r62135 = t;
double r62136 = r62133 / r62135;
double r62137 = 3.0;
double r62138 = r62136 / r62137;
double r62139 = a;
double r62140 = 5.0;
double r62141 = 6.0;
double r62142 = r62140 / r62141;
double r62143 = r62139 + r62142;
double r62144 = r62138 - r62143;
double r62145 = b;
double r62146 = c;
double r62147 = r62145 - r62146;
double r62148 = z;
double r62149 = cbrt(r62135);
double r62150 = r62149 * r62149;
double r62151 = r62148 / r62150;
double r62152 = r62135 + r62139;
double r62153 = sqrt(r62152);
double r62154 = r62153 / r62149;
double r62155 = r62151 * r62154;
double r62156 = fma(r62144, r62147, r62155);
double r62157 = pow(r62134, r62156);
double r62158 = fma(r62132, r62157, r62131);
double r62159 = r62131 / r62158;
return r62159;
}



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 3.7
Simplified2.5
rmApplied add-cube-cbrt2.5
Applied times-frac1.4
Final simplification1.4
herbie shell --seed 2019199 +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)))))))))))