\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)} \cdot \frac{1}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{1 + \mathsf{fma}\left(2, 1, \beta + \alpha\right)}double f(double alpha, double beta) {
double r413842 = alpha;
double r413843 = beta;
double r413844 = r413842 + r413843;
double r413845 = r413843 * r413842;
double r413846 = r413844 + r413845;
double r413847 = 1.0;
double r413848 = r413846 + r413847;
double r413849 = 2.0;
double r413850 = r413849 * r413847;
double r413851 = r413844 + r413850;
double r413852 = r413848 / r413851;
double r413853 = r413852 / r413851;
double r413854 = r413851 + r413847;
double r413855 = r413853 / r413854;
return r413855;
}
double f(double alpha, double beta) {
double r413856 = 1.0;
double r413857 = beta;
double r413858 = alpha;
double r413859 = r413857 + r413858;
double r413860 = fma(r413857, r413858, r413859);
double r413861 = r413856 + r413860;
double r413862 = 2.0;
double r413863 = fma(r413862, r413856, r413859);
double r413864 = r413861 / r413863;
double r413865 = 1.0;
double r413866 = r413865 / r413863;
double r413867 = r413864 * r413866;
double r413868 = r413856 + r413863;
double r413869 = r413867 / r413868;
return r413869;
}



Bits error versus alpha



Bits error versus beta
Initial program 4.2
Simplified4.2
rmApplied div-inv4.2
Final simplification4.2
herbie shell --seed 2019194 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))