\frac{\left(\frac{\left(\frac{\left(\frac{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\beta \cdot \alpha\right)}\right)}{\left(1.0\right)}\right)}{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}\right)}{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}\right)}{\left(\frac{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}{\left(1.0\right)}\right)}\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}double f(double alpha, double beta) {
double r2884150 = alpha;
double r2884151 = beta;
double r2884152 = r2884150 + r2884151;
double r2884153 = r2884151 * r2884150;
double r2884154 = r2884152 + r2884153;
double r2884155 = 1.0;
double r2884156 = /* ERROR: no posit support in C */;
double r2884157 = r2884154 + r2884156;
double r2884158 = 2.0;
double r2884159 = /* ERROR: no posit support in C */;
double r2884160 = 1.0;
double r2884161 = /* ERROR: no posit support in C */;
double r2884162 = r2884159 * r2884161;
double r2884163 = r2884152 + r2884162;
double r2884164 = r2884157 / r2884163;
double r2884165 = r2884164 / r2884163;
double r2884166 = r2884163 + r2884156;
double r2884167 = r2884165 / r2884166;
return r2884167;
}
double f(double alpha, double beta) {
double r2884168 = alpha;
double r2884169 = beta;
double r2884170 = r2884168 + r2884169;
double r2884171 = r2884169 * r2884168;
double r2884172 = r2884170 + r2884171;
double r2884173 = 1.0;
double r2884174 = r2884172 + r2884173;
double r2884175 = 2.0;
double r2884176 = 1.0;
double r2884177 = r2884175 * r2884176;
double r2884178 = r2884170 + r2884177;
double r2884179 = r2884174 / r2884178;
double r2884180 = r2884179 / r2884178;
double r2884181 = r2884178 + r2884173;
double r2884182 = r2884180 / r2884181;
return r2884182;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.4
Final simplification0.4
herbie shell --seed 2019130
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (>.p16 alpha (real->posit16 -1)) (>.p16 beta (real->posit16 -1)))
(/.p16 (/.p16 (/.p16 (+.p16 (+.p16 (+.p16 alpha beta) (*.p16 beta alpha)) (real->posit16 1.0)) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1)))) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1)))) (+.p16 (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1))) (real->posit16 1.0))))