\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^{2 \cdot \log \left(e^{\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}\right)}}double f(double x, double y, double z, double t, double a, double b, double c) {
double r65100 = x;
double r65101 = y;
double r65102 = 2.0;
double r65103 = z;
double r65104 = t;
double r65105 = a;
double r65106 = r65104 + r65105;
double r65107 = sqrt(r65106);
double r65108 = r65103 * r65107;
double r65109 = r65108 / r65104;
double r65110 = b;
double r65111 = c;
double r65112 = r65110 - r65111;
double r65113 = 5.0;
double r65114 = 6.0;
double r65115 = r65113 / r65114;
double r65116 = r65105 + r65115;
double r65117 = 3.0;
double r65118 = r65104 * r65117;
double r65119 = r65102 / r65118;
double r65120 = r65116 - r65119;
double r65121 = r65112 * r65120;
double r65122 = r65109 - r65121;
double r65123 = r65102 * r65122;
double r65124 = exp(r65123);
double r65125 = r65101 * r65124;
double r65126 = r65100 + r65125;
double r65127 = r65100 / r65126;
return r65127;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r65128 = x;
double r65129 = y;
double r65130 = 2.0;
double r65131 = z;
double r65132 = t;
double r65133 = a;
double r65134 = r65132 + r65133;
double r65135 = sqrt(r65134);
double r65136 = r65131 * r65135;
double r65137 = 1.0;
double r65138 = r65137 / r65132;
double r65139 = b;
double r65140 = c;
double r65141 = r65139 - r65140;
double r65142 = 5.0;
double r65143 = 6.0;
double r65144 = r65142 / r65143;
double r65145 = r65133 + r65144;
double r65146 = 3.0;
double r65147 = r65132 * r65146;
double r65148 = r65130 / r65147;
double r65149 = r65145 - r65148;
double r65150 = r65141 * r65149;
double r65151 = -r65150;
double r65152 = fma(r65136, r65138, r65151);
double r65153 = exp(r65152);
double r65154 = log(r65153);
double r65155 = r65130 * r65154;
double r65156 = exp(r65155);
double r65157 = r65129 * r65156;
double r65158 = r65128 + r65157;
double r65159 = r65128 / r65158;
return r65159;
}



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.8
rmApplied div-inv3.8
Applied fma-neg2.6
rmApplied add-log-exp2.6
Final simplification2.6
herbie shell --seed 2020001 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))